欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker下SqlServer發(fā)布訂閱啟用的方法

 更新時間:2024年01月19日 10:05:39   作者:chenggong007  
發(fā)布訂閱主要用來做數(shù)據(jù)庫的讀寫分離,當(dāng)單臺數(shù)據(jù)庫的壓力太大時,可以考慮這種方案,本文主要介紹了Docker下SqlServer發(fā)布訂閱啟用的方法,具有一定的參考價值,感興趣的可以了解一下

一、準備一個Docker的sqlserver

#創(chuàng)建掛載數(shù)據(jù)文件夾
mkdir -p /home/mssql/data
#創(chuàng)建掛載日志文件夾
mkdir /home/mssql/log
#給文件夾權(quán)限
chmod 777 /home/mssql/data
chmod 777 /home/mssql/log
#創(chuàng)建mssql的docker容器
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=sa123456." -e "MSSQL_AGENT_ENABLED=true"  -p 1433:1433 --name mssql -h mssql \
-v /home/mssql/data:/var/opt/mssql/data \
-v /home/mssql/log:/var/opt/mssql/log \
-d mcr.microsoft.com/mssql/server:latest

安裝完通過SqlServer Management能連上了

Docker下的SqlServer發(fā)布訂閱啟用_數(shù)據(jù)庫

 二、配置分發(fā)服務(wù)器

這里分發(fā)服務(wù)器也是用數(shù)據(jù)庫服務(wù)器充當(dāng),實際項目中如果有多余服務(wù)器可以用另外的服務(wù)器

1、創(chuàng)建發(fā)布服務(wù)器存快照的文件夾

#進入docker
docker exec -it mssql bin/bash
#創(chuàng)建快照文件夾
mkdir /var/opt/mssql/ReplData
#給權(quán)限
chmod 777 /var/opt/mssql/ReplData
#退出容器
exit

2、錯誤的配置分發(fā)服務(wù)器做法

這里不要用數(shù)據(jù)庫管理工具上面的配置分發(fā)服務(wù)器,下面的是錯誤的做法

Docker下的SqlServer發(fā)布訂閱啟用_服務(wù)器_02

 如果直接在界面配置的分發(fā)服務(wù)器,雖然能成功,但下發(fā)創(chuàng)建本地發(fā)布的時候會報"必須先將 xxx 作為發(fā)布服務(wù)器啟用,然后才能創(chuàng)建發(fā)布。在下列對話框中,將此服務(wù)器作為發(fā)布服務(wù)器啟用"

Docker下的SqlServer發(fā)布訂閱啟用_數(shù)據(jù)庫_03

 3、正確配置分發(fā)服務(wù)器方法

 1 )查詢數(shù)據(jù)庫的所在docker的hostname

select @@servername

Docker下的SqlServer發(fā)布訂閱啟用_sql_04

2)創(chuàng)建分發(fā)數(shù)據(jù)庫

在數(shù)據(jù)庫中執(zhí)行

在數(shù)據(jù)庫中執(zhí)行

use master
GO
EXEC sp_adddistributor @distributor = N'mssql'
GO
EXEC sp_adddistributiondb @database = N'distribution', @data_folder = N'/var/opt/mssql/data',
@log_folder = N'/var/opt/mssql/data', @log_file_size = 2, @min_distretention = 0, @max_distretention = 72,
@history_retention = 48, @deletebatchsize_xact = 5000, @deletebatchsize_cmd = 2000, @security_mode = 1,@password='sa123456.'
GO
SELECT name, create_date FROM sys.databases
GO

@distributor:上面查出的數(shù)據(jù)庫的hostname

@database:分發(fā)數(shù)據(jù)庫名稱

其他參數(shù)代表什么意思在這里查看:https://learn.microsoft.com/zh-cn/SQL/relational-databases/system-stored-procedures/sp-adddistributiondb-transact-sql?view=sql-server-ver16

3)創(chuàng)建分發(fā)服務(wù)器

在數(shù)據(jù)庫中執(zhí)行

USE [distribution]
IF (NOT EXISTS (SELECT * FROM sysobjects WHERE name = 'UIProperties' AND type = 'U ')) 
CREATE TABLE UIProperties(id INT)
GO
IF (EXISTS (SELECT * FROM ::fn_listextendedproperty('SnapshotFolder', 'user', 'dbo', 'table', 'UIProperties', null, null)))
  EXEC sp_updateextendedproperty N'SnapshotFolder', N'/var/opt/mssql/ReplData', 'user', dbo, 'table', 'UIProperties'
ELSE
  EXEC sp_addextendedproperty N'SnapshotFolder', N'/var/opt/mssql/ReplData', 'user', dbo, 'table', 'UIProperties'
GO
EXEC sp_adddistpublisher @publisher = N'mssql', @distribution_db = N'distribution', @security_mode = 1,
@working_directory = N'/var/opt/mssql/ReplData', @trusted = N'false', @thirdparty_flag = 0,
@publisher_type = N'MSSQLSERVER'

@publisher:上面的hostname

@distribution_db:分發(fā)數(shù)據(jù)庫名稱

復(fù)制 
/var/opt/mssql/ReplData:這個路徑為上面創(chuàng)建的路徑

執(zhí)行完就創(chuàng)建成功分發(fā)服務(wù)器了,能看到復(fù)制文件夾多出了一些菜單了

Docker下的SqlServer發(fā)布訂閱啟用_sql_05

 三、建數(shù)據(jù)庫發(fā)布

1、準備數(shù)據(jù)庫

這里創(chuàng)建一個數(shù)據(jù)庫 MyDb(主庫)和創(chuàng)建一個數(shù)據(jù)庫MyDbSlaver(從庫,不建表,通過主庫的快照同步)
如果是實際項目中,數(shù)據(jù)庫的數(shù)據(jù)量已經(jīng)很大的情況下,建議從庫從主庫還原一份,不要通過快照同步,因為這個過程會占服務(wù)器的cpu很高,會影響到服務(wù)器
然后給MyDb(主庫)創(chuàng)建一個表測試用

CREATE TABLE SysUser (
    ID INT PRIMARY KEY,
    UserName NVARCHAR(50),
    Age INT
);

Docker下的SqlServer發(fā)布訂閱啟用_sql_06

2、新建發(fā)布

Docker下的SqlServer發(fā)布訂閱啟用_服務(wù)器_07

Docker下的SqlServer發(fā)布訂閱啟用_數(shù)據(jù)庫_08

選擇事務(wù)發(fā)布,如想用其它發(fā)布類型,看對應(yīng)說明

Docker下的SqlServer發(fā)布訂閱啟用_數(shù)據(jù)庫_09

全部勾選

Docker下的SqlServer發(fā)布訂閱啟用_服務(wù)器_10

Docker下的SqlServer發(fā)布訂閱啟用_服務(wù)器_11

Docker下的SqlServer發(fā)布訂閱啟用_sql_12

Docker下的SqlServer發(fā)布訂閱啟用_sql_13

Docker下的SqlServer發(fā)布訂閱啟用_數(shù)據(jù)庫_14

Docker下的SqlServer發(fā)布訂閱啟用_sql_15

Docker下的SqlServer發(fā)布訂閱啟用_服務(wù)器_16

成功創(chuàng)建發(fā)布

Docker下的SqlServer發(fā)布訂閱啟用_sql_17

四、創(chuàng)建數(shù)據(jù)庫訂閱

1、創(chuàng)建訂閱

Docker下的SqlServer發(fā)布訂閱啟用_sql_18

Docker下的SqlServer發(fā)布訂閱啟用_服務(wù)器_19

Docker下的SqlServer發(fā)布訂閱啟用_sql_20

Docker下的SqlServer發(fā)布訂閱啟用_數(shù)據(jù)庫_21

Docker下的SqlServer發(fā)布訂閱啟用_sql_22

Docker下的SqlServer發(fā)布訂閱啟用_服務(wù)器_23

Docker下的SqlServer發(fā)布訂閱啟用_數(shù)據(jù)庫_24

創(chuàng)建訂閱成功

Docker下的SqlServer發(fā)布訂閱啟用_數(shù)據(jù)庫_25

創(chuàng)建訂閱成功后能看到從庫把主庫的表也同步過來了

Docker下的SqlServer發(fā)布訂閱啟用_服務(wù)器_26

2、驗證效果

在MyDb操作的數(shù)據(jù),在從庫MyDbSlaver查到的結(jié)果是一樣的

Docker下的SqlServer發(fā)布訂閱啟用_sql_27

到此這篇關(guān)于Docker下SqlServer發(fā)布訂閱啟用的方法的文章就介紹到這了,更多相關(guān)Docker SqlServer發(fā)布訂閱啟用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Docker每次啟動容器,IP及hosts指定的操作

    Docker每次啟動容器,IP及hosts指定的操作

    這篇文章主要介紹了Docker每次啟動容器,IP及hosts指定的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 詳細記一次Docker部署服務(wù)的爬坑歷程

    詳細記一次Docker部署服務(wù)的爬坑歷程

    這篇文章主要介紹了詳細記一次Docker部署服務(wù)的爬坑歷程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • centos6使用docker部署zookeeper操作示例

    centos6使用docker部署zookeeper操作示例

    這篇文章主要介紹了centos6使用docker部署zookeeper操作,結(jié)合實例形式分析了centos6平臺使用docker部署zookeeper相關(guān)命令與使用技巧,需要的朋友可以參考下
    2020-02-02
  • docker 啟動elasticsearch鏡像,掛載目錄后報錯的解決

    docker 啟動elasticsearch鏡像,掛載目錄后報錯的解決

    這篇文章主要介紹了docker 啟動 elasticsearch鏡像,掛載目錄后報錯的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 使用Docker創(chuàng)建FTP服務(wù)器的過程解析

    使用Docker創(chuàng)建FTP服務(wù)器的過程解析

    這篇文章主要介紹了使用Docker創(chuàng)建FTP服務(wù)器的過程解析,使用?Docker?搭建?FTP?服務(wù),不僅十分簡單,而且可以對宿主機有一定的隔離,對Docker創(chuàng)建FTP服務(wù)器的過程感興趣的朋友一起看看吧
    2022-04-04
  • docker 無法釋放端口的解決方案

    docker 無法釋放端口的解決方案

    這篇文章主要介紹了docker 無法釋放端口的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Ubuntu Docker安裝并使用的方法

    Ubuntu Docker安裝并使用的方法

    最近在學(xué)習(xí)docker,本文就從入門開始介紹Ubuntu Docker安裝并使用的方法,具有一定的參考價值,感興趣的可以了解一下
    2021-09-09
  • 如何在mac上用docker對Oracle進行部署使用

    如何在mac上用docker對Oracle進行部署使用

    這篇文章主要介紹了如何在mac上用docker對Oracle進行部署使用,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • docker?update?命令及用法詳解

    docker?update?命令及用法詳解

    docker?update?命令動態(tài)更新容器配置,您可以使用此命令來防止容器消耗?Docker?主機的過多資源,本文給大家介紹docker?update?命令及用法,感興趣的朋友一起看看吧
    2023-08-08
  • Docker如何限制容器可用的內(nèi)存

    Docker如何限制容器可用的內(nèi)存

    容器的使用過程中,經(jīng)常需要對容器可以使用的主機資源進行限制,本文介紹如何限制容器可以使用的主機內(nèi)存,需要的朋友參考下吧
    2017-12-12

最新評論