當前位置:首頁 » 編程語言 » sqlserver2008讀寫分離
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlserver2008讀寫分離

發布時間: 2022-09-03 20:07:10

1. 資料庫移植到sql Server 2008R2出現「3145錯誤」怎麼辦

SQL
Server
2000資料庫移植到SQL
Server
2008R2資料庫伺服器中碰到的”3145錯誤”及解決辦法
辛苦忙碌了一個星期終於安裝配置好了TFS伺服器,給每個團隊成員分配了賬戶和郵箱。不過,老機器中的部分數據需要備份到新機器中,其中在移植一個使用DVBBS架設的論壇的時候,出了點問題,記錄如下,以備查找,也希望能幫助到其他人。
由於論壇已經運行了一段時間,包括公司注冊用戶、相關討論共享等重要資料,需要將其移植到新安裝TFS伺服器的機器上,並對外公開訪問許可權。舊的機器上安裝的是SQL
Server
2000,在將論壇資料庫備份之後,在SQL
Server
2008R2的資料庫上還原的過程中,出現了如下的3145錯誤:
備份集中的資料庫備份與現有的
'xxx'
資料庫不同。
一直以為SQL
Server資料庫是向前後兼容的,怎麼可能存在這樣的問題呢?不過檢查一番之後,確定兩台資料庫伺服器都沒有問題,且論壇的備份在原資料庫伺服器上可以正常還原。沒辦法,改之,把在SQL
Server
2008R2上新建的資料庫更改為
SQL
Server
2000格式的,再嘗試還原,仍然是同樣的錯誤。在網上找了下,說到的辦法,嘗試了不少,其中有一篇是“備份集中的資料庫備份與現有的資料庫不同
SQL
2005
ERROR:3145
解決辦法
”,提供了如下命令方法:
1.新建一個與現有資料庫重名的資料庫
2.在查詢窗口運行如下語句:
use
master
restore
database
AdventureWorks
from
disk
=
'E:databasebackupAdventureWorks.bak'
with
replace,
MOVE
N'AdventureWorks_Data'
TO
N'C:Program
FilesMicrosoft
SQL
ServerMSSQL.5MSSQLDataAdventureWorks.mdf',
MOVE
N'AdventureWorks_Log'
TO
N'C:Program
FilesMicrosoft
SQL
ServerMSSQL.5MSSQLDataAdventureWorks_log.ldf'
從語句上來看,和在圖形界面的操作是一樣的,但是結果卻是語句運行成功,圖形界面怎麼過不去。
在其他網頁上也看到了類似的方法,也有不少成功解決這個錯誤的,不過,在SQL
Server
2008R2伺服器上,還是無法正確備份,也沒有找到有其它人在SQL
Server
2008R2上,用其它方法解決還原備份的問題。
不過,將論壇資料庫從舊的SQL
Server
2000上分離出來,再附加上SQL
Server
2008R2上,成功,數據完整的恢復了!
不清楚為什麼在SQL
Server
2005上可以,在SQL
Server
2008R2卻不能恢復備份。不過,好在使用分離和附加的方法,成功將論壇遷移。在此記下,做為參考吧。

2. MySql 讀寫分離怎麼配置

MySql 讀寫分離配置 MySQL是開源的關系型資料庫系統。MySql 讀寫分離配置,主從同步復制(Replication)是從一台MySQL資料庫伺服器(主伺服器master)復制數據到另一個伺服器(從伺服器slave)的一個進程。 MySql 讀寫分離配置 配置主伺服器 (master) 1、編輯資料庫配置文件my.cnf 或 my.ini (windows),一般在/etc/目錄下。 #vi /etc/my.cnf 在[mysqld]的下面加入下面代碼: log-bin=mysql-bin server-id=1 innodb_flush_log_at_trx_commit=1 sync_binlog=1 binlog-do-db=wordpress binlog_ignore_db=mysql server-id=1中的1可以任定義,只要是唯一的就行。 binlog-do-db=wordpress是表示只備份wordpress。 binlog_ignore_db=mysql表示忽略備份mysql。 不加binlog-do-db和binlog_ignore_db,那就表示備份全部資料庫。 2、然後重啟MySQL: #service mysqld restart 3、登錄MySQL伺服器。 #mysql -uroot -p MySql 讀寫分離其餘配置 在主伺服器新建一個用戶賦予「REPLICATION SLAVE」的許可權。你不需要再賦予其它的許可權。在下面的命令,把X.X.X.X替換為從伺服器的IP。 http://www.qi788.com/sitemap mysql>CREATE USER 'user'@ 'X.X.X.X' IDENTIFIED BY 'password'; mysql>GRANT REPLICATION SLAVE ON *.* TO 'user'@'X.X.X.X' IDENTIFIED BY 'password'; 4、執行以下命令鎖定資料庫以防止寫入數據。 mysql>FLUSH TABLES WITH READ LOCK; 5、退出mysql命令行,導出資料庫 #mysqlmp -u root -p123456 --all-databases > /root/all.sql 6、使用scp命令傳輸資料庫文件all.sql到從伺服器。 #scp /root/all.sql root@ www.example.com :/root 7、再次連接資料庫進入mysql命令行查看master狀態。 mysql>SHOW MASTER STATUS; 請記下顯示的信息,配置從伺服器會用到。 +——————+———-+————–+——————+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +——————+———-+————–+——————+ | mysql-bin.000001| 253| dbispconfig | mysql | +——————+———-+————–+——————+ 1 row in set (0.00 sec) 8、解鎖數據表。 mysql>UNLOCK TABLES; 配置從伺服器 (slave) 登錄從伺服器。 1、導入主伺服器的資料庫。 #mysql -u root -p123456 < /root/all.sql 2、編輯配置文件my.cnf,在[mysqld]下面加入: server-id=2 註:2可以自己定義,只要保證唯一的就行。 3、保存文件並重啟mysqld。 #service mysqld restart 4、登錄mysql伺服器,執行以下命令。 mysql>CHANGE MASTER TO MASTER_HOST='X.X.X.X', MASTER_USER='user', MASTER_PASSWORD='password', MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000001, MASTER_LOG_POS=253, MASTER_CONNECT_RETRY=10; 註: MASTER_HOST:主伺服器的IP。 MASTER_USER:配置主伺服器時建立的用戶名 MASTER_PASSWORD:用戶密碼 MASTER_PORT:主伺服器mysql埠,如果未曾修改,默認即可。 這里master_log_file和master_log_pos就是前面show master status的結果。 5、啟動slave進程。 mysql>START SLAVE; mysql>SHOW SLAVE STATUS; 如果能查出一條記錄 那麼,配置成功 6、查看mysql的日誌,一般在/var/log/目錄下,如果啟動成功,你應該會看到類似下面的日誌。 091104 8:42:02 [Note] Slave I/O thread: connected to master 『[email protected]:3306?, replication started in log 『mysql-bin.000001? at position 98 現在主伺服器和從伺服器已經配置好了。另外你可能需要設置主伺服器的資料庫二進制日誌的過期時間,可以在配置文件中使用參數expire_logs_days來設定。 java spring事務設置,方法頭部設置 @Transactional(readOnly=true) java 連接 驅動 設置 jdbc.connection.driver=com.mysql.jdbc.ReplicationDriver jdbc.connection.url=jdbc:mysql:replication://192.168.202.190,192.168.202.190/job?useUnicode=true&characterEncoding=utf-8 MySql 讀寫分離配置到此結束 資料來源: http://www.qi788.com/info/12.html

3. sqlserver2008 插入3000條/秒,分析IO,發現日誌讀寫遠大於正常的資料庫讀寫!我不需要任何日誌,如何關閉

建議用select into ,用insert into 是會產生日誌的!select into就不會產生日誌。

4. MSSQL SERVER 怎麼實現讀寫分離

sqlserver2008 怎樣進行資料庫分離??在資料庫上點右鍵,就有資料庫分離的菜單項,直接點擊就好了
你在哪裡抄來抄了錯誤的東西嗎?或者你嘗試刷新數據。
顯然是資料庫連接字元串,不,啊,你要連接本地(local)資料庫實例名稱不會是localhost

5. net 怎麼使用sqlserver讀寫分離

在任務欄上,單擊「開始」,然後單擊「運行」。
在「運行」對話框中,復制並粘貼以下命令,或自己鍵入以下命令:
C:\WINNT\IsUninst.exe -f"C:\Program Files\Microsoft SQL Server\MSSQL$Server1\Uninst.is" -c"C:\Program Files\Microsoft SQL Server\MSSQL$Server1\sqlsun.dll" -Mssql.miff i=I1

6. alwayson 讀寫分離配置怎麼去除

SQLServer2012推出的最重要的功能之一Alwayson,是一個集之前Cluster和Mirror於一體的新功能,即解決了Cluster依賴共享存儲的問題,又解決了鏡像不能實時讀以及轉移後連接串需要添加轉移IP的問題,看起來的確很實用。而且Alwayson多副本的功能為實現讀寫分離提供了可能,試想一下,當主副本壓力比較大的時候,是否可以將讀操作引向輔助副本呢?答案一般來講是肯定的,請注意,是一般!Alwayson有兩個同步模式,同步和非同步,即然是同步,理所當然的我認為他是實時的,所以我配置了只讀路由,來使用這個功能。

7. sql server 2008資料庫的分離是什麼意思

資料庫分離是指將資料庫文件從資料庫伺服器實例中分離出來,相當於關閉了資料庫。資料庫分離後,應用程序不能連接到該資料庫,資料庫文件可以被其它進程訪問。通常分離資料庫用於快速地將資料庫遷移到另一個sqlserver實例。
資料庫分離後,還可以附加到sqlserver實例。

8. SQL SERVER 能不能實現讀寫分離解決方法

至於對資料庫的讀寫操作分離,還是前台代碼來確定。
對於只負責讀的資料庫可以對該訪問用戶設置為datareader角色即可,也可以防止數據寫了,不過這是資料庫方面許可權的問題

9. 請問,利用SQL Server2008復制技術,實現資料庫讀寫分離,訂閱伺服器只負責讀操作,還會出現復制沖突么

不會的出現復制沖突。

10. asp.net+sqlserver+server 2008可以做高並發的網站嗎

可以的。
1、凡是大型的系統,必然要分庫,也就是根據邏輯進行數據拆分。比如用戶的數據,可以根據用戶所在的省份劃分,一個省份一個資料庫,只有這樣才能真正的保證大數量的並發。
2、要有效的利用讀寫分離,讀寫分離用sql server 2012的話可以直接用always on,一個用來寫,若干用來讀。資料庫自身會保證數據的一致性的,這樣就不會出現查備份庫數據還沒同步過來的問題了。
技術要點:
分庫要看具體的應用場景,水平分或者豎直分。不過通常而言,水平分可能更多一些,因為當某些表的記錄數達到一個很大值(比如上億),那麼水平分更有效一點。基本原則是保證在一個事務場景中,能用一個庫完成,不出現兩個庫之間的關聯查詢。分庫還要根據實際的應用場景,比如按照用戶來劃分,還是按照地域來劃分等等,在一個應用的初始設計中是無法預估的,這個需要邊上線,邊分析用戶數據,邊改進結構。在沒有大量用戶使用的前提下(也就是缺少必要的數據使用分析),光憑腦袋空想分庫場景基本是不現實的。