讀寫分離Sqlserver資料庫訂閱釋出
賬號新增登陸不了
1 狀態 啟用登陸
2 強制實行密碼 去掉
3 最重要的是右鍵屬性 安全性裡面 選擇 sql和windows混合登陸
2 無法遠端連線
1 右鍵屬性 連線 允許遠端連線
2 最重要建立入站埠1433
3 還要阿里雲伺服器域名管理允許1433
3開啟SQL複製報錯:
SQLServer複製需要有實際的伺服器名稱才能連線到伺服器,請指定實際的伺服器名
第一種情況下:
在SQL SERVER裡面執行下面語句:
use master go select @@servername; select serverproperty('servername') |
使用上面的語句查詢伺服器的名稱和實際計算機的名稱,如果兩者不一致,就需要修改。
USE master
GO
-- 設定兩個變數
DECLARE @serverproperty_servername varchar(100),@servername varchar(100)
-- 取得Windows NT 伺服器和與指定的 SQL Server 例項關聯的例項資訊
SELECT @serverproperty_servername=CONVERT(varchar(100), SERVERPROPERTY('ServerName'))
-- 返回執行 Microsoft SQL Server 的本地伺服器名稱
SELECT @servername=CONVERT(varchar(100), @@SERVERNAME)
-- 顯示獲取的這兩個引數
select @serverproperty_servername,@servername
--如果@serverproperty_servername和@servername不同(因為你改過計算機名字),再執行下面的
--刪除錯誤的伺服器名
EXEC sp_dropserver @ [email protected]
--新增正確的伺服器名
EXEC sp_addserver @[email protected]_servername, @local='local'
4 在另一臺資料庫新建訂閱,指定釋出伺服器報錯
開啟SQL複製報錯:需要實際的伺服器名稱
為遠端伺服器增加“別名”,使用別名代替IP地址來連線遠端資料庫伺服器。(我自己用的是SQL SERVER2012)
開啟SQL SERVER2012的配置管理器,定位到“別名”服務選項,如下:
埠號 1433 ,不能寫成1443了 我就因為這個耽誤很久
在兩個SQL native都要配置
5 連線遠端伺服器需要別名
別名不是自己連線自己的伺服器 ,而是別的伺服器的IP 和伺服器名稱,而自己在本地新增對應的對映
理解錯誤,以為自己資料庫需要給自己新增別名 然後對映,耽誤很久
別名
6 異地建立訂閱時候必須使用sa賬號
無法使用特殊主體sa
解決辦法:
物件資源管理器中找到相應資料庫-->右鍵點屬性-->點選檔案,把這裡檔案的所有者設定為sa就可以了
7必須使用sa賬號,不然會報錯
8在訂閱伺服器啟動後 ,還必須在釋出伺服器啟動
9兩個伺服器的sql代理用同一個賬號密碼
10 在重新在兩臺伺服器佈置釋出和訂閱
11 無法讀取 ReplData
.將存放快照的目錄設定為共享,並設定讀取的許可權;
1)釋出伺服器設定:
在釋出屬性中,點選左側的快照,在右邊頁面中的快照檔案的位置預設為D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\ReplData
把Repldata資料夾設定為共享,並且在安全項裡,設定使用者許可權
新增之前建立的賬號 和把every許可權都開啟
2)訂閱伺服器設定:
然後在訂閱伺服器中,右擊訂閱的服務名,選擇屬性,設定屬性引數如下
a.快照位置修改為備用資料夾
b.快照資料夾修改為 \\釋出伺服器的ip\repldata
注意: 釋出伺服器的ip 這個也可以是你設定好並對映好的別名
12 所有配置都設定了 ,還是無法開啟檔案共享,可能需要阿里雲開啟5個埠,放棄,使用推送訂閱
13Message: 指令碼 對於 表“dbo.HY_CORP_BAD_CREDIT_INFO”失敗。
Message: 物件 HY_CORP_BAD_CREDIT_INFO 中的列 fHappenDate 包含型別 Date,此型別不受目標伺服器版本 SQL Server 2005 支援。
1.1.2. 處理方法
將資料庫相容級別設定到100,在釋出資料庫上執行如下程式碼,修改資料庫的相容級別到100。
ALTER DATABASE [DataBase] SET COMPATIBILITY_LEVEL = 100
或者介面操作:
14
程序無法在“iZyegouzr1ihp8Z”上執行“sp_replcmds”。 (源: MSSQL_REPL,錯誤號: MSSQL_REPL20011)
ALTER AUTHORIZATION ON DATABASE::[資料庫名] TO [sa]
ALTER AUTHORIZATION ON DATABASE::[資料庫名] TO [fabu]
USE 資料庫名
GO
sp_changedbowner 'fabu'
15 代理歷史記錄清除: distribution 作業執行失敗
呼叫作業—錯誤提示內容
該作業失敗。 無法確定所有者 WIN-3TH1KNIT12D\Administrator (擁有作業 Database_Backup.step1)是否有伺服器訪問許可權 (原因: 無法獲取有關 Windows NT 組/使用者 ‘WIN-3TH1KNIT12D\Administrator’ 的資訊,錯誤程式碼 0x534。 [SQLSTATE 42000] (錯誤 15404)).
產生原因:
之前有修改過作業系統的使用者名稱或計算機名
解決辦法:
重新選擇登入名或者更換一個有許可權的登入名
說明:更改作業計劃的所有者,不是資料庫所有者
16 歷史快照ReplData沒有自動刪除的解決辦法:
1 查詢原因
2 新建批處理檔案刪除
3 在資料庫新建維護任務
管理——維護計劃裡面——清楚維護任務——搜尋資料夾並根據副檔名刪除檔案
出現錯誤
應用複製的命令時在訂閱伺服器上找不到該行。
暫時處理辦法 :重新初始化,會導致訂閱資料庫新增的索引全部消失,並且會初始化一段時間,應該有更好處理辦法
可能可以借鑑這篇文章
相關推薦
讀寫分離Sqlserver資料庫訂閱釋出
賬號新增登陸不了 1 狀態 啟用登陸 2 強制實行密碼 去掉 3 最重要的是右鍵屬性 安全性裡面 選擇 sql和windows混合登陸 2 無法遠端連線 1 右鍵屬性 連線 允許遠端連線 2 最重要建立入站埠1433 3 還要阿里雲伺服器域名管理允許1433 3開啟SQL
Mysql讀寫分離——主從資料庫+Atlas
mysql叢集 最近在參加專案開發微信小程式後臺,由於使用者數量巨大,且後臺程式並不是很完美,所以對使用者的體驗很是不友好(簡單說就是很卡)。趕巧最近正在翻閱《大型網站系統與Java中介軟體實踐》。 所以,先是使用Docker swarm構建了負載均衡叢集,然後使用Atlas做了資料庫的讀寫分離,儘可能對使用
springboot+springAOP實現資料庫讀寫分離及資料庫同步(MySQL)
網上找了很多資料,發現根據獲取bean的時候報空指標,不知道是哪裡有問題,後來稍作修改就可以了 1,資料來源配置檔案,如下 datasource.readSize=1 spring.datasource.type=com.alibaba.druid.pool.DruidDa
mysql主從複製、讀寫分離到資料庫水平拆分及庫表雜湊
web專案最原始的情況是一臺伺服器只能連線一個mysql伺服器(c3p0只能配置一個mysql),但隨著專案的增大,這種方案明顯已經不能滿足需求了。Mysql主從複製,讀寫分離:上面的方案使用mysql-Proxy代理,分發讀寫請求,寫操作轉發到Mysql主伺服器,讀操作轉發
Mysql主從複製、讀寫分離+MyCat資料庫中介軟體
最近搭建了 MySQL 主從 並使用MyCat作為資料庫中介軟體 版本: Mysql 5.5.48 Linux :CentOS 6.8 MyCat : 1.4 節點: 192.168.152.11Cluster1 192.168.152.12Cluster2 192.1
從零開發分散式資料庫中介軟體 一、讀寫分離的資料庫中介軟體
在傳統的單機體系中,我們在操作資料庫時,只需要直接得到資料庫的連線,然後操作資料庫即可,可是在現在的資料爆炸時代,只靠單機是無法承載如此大的使用者量的,即我們不能縱向擴充套件,那麼我們就只能水平進行擴充套件,即使用讀寫分離的主從資料庫來緩解資料庫的壓力,而在讀寫分離之後
sqlserver讀寫分離--事務釋出
一、背景 在複製的運用場景中,事務釋出是使用最為廣泛的,我遇到這樣一個場景:在YangJiaLeClub資料庫中有表、儲存過程、檢視、使用者定義函式,需要提供給其它程式讀取放入快取,程式需要比較及時的獲取到這些資料,需要從許可權和效能控制的角度出發,我採用了SQL Server的事務複製技術
Java架構學習(三十)redis高階&redis高可用&主從複製&讀寫分離&叢集&哨兵機制&持久化RDB儲存&持久化AOF儲存&事務機制&Redis釋出訂閱
redis高階 一、基礎回顧 什麼是redis? 答:redis是非關係型資料庫,使用redis的目的是:減輕資料庫訪問壓力。 資料庫是做IO操作,使用redis是記憶體操作,記憶體資料庫, 效率要比IO效率高。這個就是快取。 如果資料庫值與redis
mysql proxy 資料庫讀寫分離字符集亂碼
mysql proxy 資料庫讀寫分離字符集亂碼 解決辦法 在對應配置後端資料庫伺服器的配置.cnf中加入如下程式碼 init-connect='SET NAME UTF8' skip-character-set-client-handshake cha
mysql+spring+mybatis實現資料庫讀寫分離[程式碼配置]
場景:一個讀資料來源一個讀寫資料來源。 原理:藉助spring的【org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource】這個抽象類實現,看名字可以瞭解到是一個路由資料來源的東西,這個類中有一個方法
阿里P8架構師談:資料庫分庫分表、讀寫分離的原理實現,使用場景
為什麼要分庫分表和讀寫分離? 類似淘寶網這樣的網站,海量資料的儲存和訪問成為了系統設計的瓶頸問題,日益增長的業務資料,無疑對資料庫造成了相當大的負載,同時對於系統的穩定性和擴充套件性提出很高的要求。隨著時間和業務的發展,資料庫中的表會越來越多,表中的資料量也會越來越大,相應地,
mysql資料庫讀寫分離安裝配置
1.在兩臺伺服器上安裝mysql 2.開啟mysql資料庫配置檔案 vim /etc/my.cnf 2.1 在主伺服器master上配置開啟Binary log,主要是在[mysqld]下面新增: server-id=1 log-bin=master-bin log-bin-index=mast
tp5.0主從資料庫 讀寫分離和主從理解
在配置中設定 'hostname' => '伺服器地址,伺服器地址', 'database' => 'linux', // 使用者名稱 'username' => 'root,root', // 密碼 'password' => '123,123456',
微贊微擎V0.8以上版本:【資料庫讀寫分離】實戰教程 [複製連結]
http://www.efwww.com/forum.php?mod=viewthread&tid=4870 馬上註冊,下載更多原始碼,讓你輕鬆玩轉微信公眾平臺。 您需要 登入 才
spring+springmvc+mybatis+maven+mysql 資料庫讀寫分離
spring+springmvc+mybatis+maven+mysql資料庫讀寫分離 一、Spring+Springmvc+Mybatis+Maven建立Web專案 二、使用Spring AOP實現MySQL資料庫讀寫分離 2.1 前言
使用Mycat實現Mysql資料庫的主從複製、讀寫分離、分表分庫、負載均衡和高可用
Mysql叢集搭建 使用Mycat實現Mysql資料庫的主從複製、讀寫分離、分表分庫、負載均衡和高可用(Haproxy+keepalived),總體架構: 說明:資料庫的訪問通過keepalived的虛擬IP訪問HAProxy負載均衡器,實現HAProxy的高可用,HAProxy用於實
SQL Server讀寫分離之發布訂閱
font 提示 自己 strong xxx 實時 mss 創建 實時同步 一、發布 上面有多種發布方式,這裏我選擇事物發布,具體區別請自行百度。 點擊下一步、然後繼續選擇需要發布的對象。 如果需要篩選發布的數據點擊添加。 根據自
淺談資料庫讀寫分離、垂直拆分、水平拆分
一、讀寫分離 二、垂直拆分、水平拆分 1.垂直劃分 (1)按照業務將表進行分類,垂直拆分是把不同的表拆到不同的資料庫中。資料庫專庫專用,比如拆為Products、Users、Deal庫。 缺點: (1)部分業務表無法join,只能通過介面方式解決,提高了系統複雜度。 (2)受
資料庫分庫分表、讀寫分離的實現原理及使用場景
為什麼要分庫分表和讀寫分離? 類似淘寶網這樣的網站,海量資料的儲存和訪問成為了系統設計的瓶頸問題,日益增長的業務資料,無疑對資料庫造成了相當大的負載,同時對於系統的穩定性和擴充套件性提出很高的要求。隨著時間和業務的發展,資料庫中的表會越來越多,表中的資料量也會越來越
mysql資料庫讀寫分離
(1)、基本的理論知識: 首先,要實現mysql的讀寫分離,可以使用mysql的主(master)從(slave)複製(Replication)來實現: 主(master)庫只提供寫資料的服務,而從(slave)庫只提供讀資料的服務。 什麼是主從複製? 簡單來說,就是