1. 程式人生 > >讀寫分離Sqlserver資料庫訂閱釋出

讀寫分離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)庫只提供讀資料的服務。 什麼是主從複製? 簡單來說,就是