SQLSERVER复制的要点
SQLSERVER复制的要点 在论坛里经常有人问: SQLSERVER复制出问题了!!SQLSERVER复制不运行了!! SQLSERVER复制遇到阻塞了!! 然后最后来一句:怎麽办??????????????? 大家知道:我们使用SQLSERVER复制功能主要用来读写分离,当然还有其他
SQLSERVER复制的要点
在论坛里经常有人问:SQLSERVER复制出问题了!!SQLSERVER复制不运行了!!SQLSERVER复制遇到阻塞了!!
然后最后来一句:“怎麽办???????????????”
大家知道:我们使用SQLSERVER复制功能主要用来读写分离,当然还有其他的场景会用到SQLSERVER复制,不过大部分还是用在"读写分离"
根据《SQLSERVER数据库大型应用解决方案总结》里总结的SQLSERVER复制的优缺点
文章地址:
优缺点 :
(1) 数据的实时性差:数据不是实时同步到自读服务器上的,当数据写入主服务器后,要在下次同步后才能查询到。
(2) 数据量大时同步效率差:单表数据量过大时插入和更新因索引,磁盘IO等问题,性能会变的很差。
(3) 同时连接多个(至少两个)数据库:至少要连接到两个数据数据库,实际的读写操作是在程序代码中完成的,容易引起混乱。
(4) 读具有高性能高可靠性和可伸缩:只读服务器,免备案空间,因为没有写操作,会大大减轻磁盘IO等性能问题,大大提高效率。
只读服务器可以采用负载均衡,主数据库发布到多个只读服务器上实现读操作的可伸缩性。
------------------------------------------------------华丽的分割线-----------------------------------------------------------
其实我们可以只同步某些表,不需要将整个数据库里的所有表都同步到订阅服务器上,而且SQLSERVER还支持只同步一张表里的某些列
有些人就是将整个数据库里的表都同步,不管哪些表是经常访问的,哪些表数据量比较大,哪些表不适合加主键或者索引
因为同步的一个条件是,表里必须要有主键,如果你需要同步所有表,那不是所有表都要加上主键??大家知道加上主键
相当于给表加了聚集索引,那么肯定影响数据修改的性能,所以大家只需要把需要同步/发布的表发布出来就可以了
没必要把整个库都发布出来,还有一些存储过程、函数、视图也是一样,只需要同步经常访问的或者必须要用到的就可以了
--------------------------------------------------------华丽的分割线---------------------------------------------------------
复制的前提条件:
(1)为了提高执行效率,可以限制订阅服务器获得的所有数据,或仅发布订阅者真正需要的数据或订阅者有权得到的数据
(2)在实现快照复制之前,网站空间,为快照复制留出充足的磁盘空间
(3)在实现事务复制之前,分配足够的日志空间,为分发数据库留有足够的磁盘空间
(4)为每一个表创建主键
(5)实现合并复制前移去timestamp列,由于订阅服务器的数据也会传递到发布服务器,
应确保数据的完整性在各个订阅服务器上都能得到保证,维护表之间的关联参照
(6)在所有IDENTITY属性字段上加上NOT FOR REPLICATION设置,以保证SQLSERVER在复制代理程序所添加的行上保留起始标识值,
但是继续在其他用户所添加的行上增加标识值。当用户将某个新行添加到表时,标志值以通常的方式增加。当复制代理程序将该新行复制到
订阅服务器时,再将该行插入到订阅服务器表中时不更改标识值
----------------------------------------------------------华丽的分割线-----------------------------------------------------
下面附上我写的一篇文章,虚拟主机,关于复制的介绍和复制的注意事项,如果提高复制性能,定制复制标准,定义复制等
SQLSERVER复制
1、只发布必要的表或字段
2、定制性能标准
3、提高常规复制的性能
里面有几个注意点,希望读者可以详细认真地读一下,o(∩_∩)o
希望文章能帮到大家
如有不对的地方,欢迎大家拍砖!!

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









インポート手順は次のとおりです。 MDF ファイルを SQL Server のデータ ディレクトリ (通常は C:\Program Files\Microsoft SQL Server\MSSQL\DATA) にコピーします。 SQL Server Management Studio (SSMS) でデータベースを開き、[アタッチ] を選択します。 「追加」ボタンをクリックして、MDF ファイルを選択します。データベース名を確認し、「OK」ボタンをクリックします。

SQL Server データベースに既に存在する同じ名前のオブジェクトについては、次の手順を実行する必要があります。 オブジェクトの種類 (テーブル、ビュー、ストアド プロシージャ) を確認します。 IF NOT EXISTS を使用すると、オブジェクトが空の場合に作成をスキップできます。オブジェクトにデータがある場合は、別の名前を使用するか、構造を変更してください。既存のオブジェクトを削除するには、DROP を使用します (注意してください。バックアップを推奨します)。スキーマの変更をチェックして、削除または名前変更されたオブジェクトへの参照がないことを確認します。

SQL Server サービスの開始に失敗した場合の解決手順は次のとおりです。 エラー ログを確認して、根本原因を特定します。サービス アカウントにサービスを開始する権限があることを確認してください。依存関係サービスが実行されているかどうかを確認します。ウイルス対策ソフトウェアを無効にします。 SQL Server のインストールを修復します。修復が機能しない場合は、SQL Server を再インストールします。

SQL Server のポート番号を表示するには: SSMS を開いてサーバーに接続します。オブジェクト エクスプローラーでサーバー名を見つけ、右クリックして [プロパティ] を選択します。 「接続」タブで、「TCP ポート」フィールドを表示します。

SQL Server データベース ファイルは、通常、次のデフォルトの場所に保存されます。 Windows: C:\Program Files\Microsoft SQL Server\MSSQL\DATALinux: /var/opt/mssql/data データベース ファイルの場所は、データベース ファイル パスを変更することでカスタマイズできます。設定。

私たちユーザーは、このプラットフォームを使用する際にいくつかの機能の多様性を理解できるはずであり、いくつかの曲の歌詞は非常によく書かれていることがわかります。何度か聞いて、とても深い意味を感じることもあるので、意味を理解したい場合は、そのままコピーしてコピーライティングとして使いたくなりますが、使いたい場合は、まだ必要です 歌詞をコピーする方法を学ぶ必要があります 誰もがこれらの操作に慣れていると思いますが、携帯電話での操作は確かに少し難しいです。 そこで、よりよく理解するために、今日は編集者がは、あなたを助けるためにここにあります。上記の操作エクスペリエンスのいくつかをわかりやすく説明しています。もし気に入ったら、エディターと一緒に見に来てください。お見逃しなく。

SQL Server データベースを誤って削除した場合は、次の手順を実行して回復できます: データベース アクティビティの停止、ログ ファイルのバックアップ、データベース ログの確認、回復オプション: バックアップからの復元、トランザクション ログからの復元、DBCC CHECKDB の使用、3 番目の使用パーティーツール。データ損失を防ぐために、データベースを定期的にバックアップし、トランザクション ログを有効にしてください。

SQL Server のインストールが失敗した場合は、次の手順に従ってクリーンアップできます。 SQL Server をアンインストールする レジストリ キーを削除する ファイルとフォルダーを削除する コンピューターを再起動する
