sql >> データベース >  >> RDS >> Sqlserver

SQL Server 2000/2005 ID 列 + レプリケーション

    オプション "NOT FOR REPLICATION があります。 " ID 列 (およびトリガーやその他の制約) に適用できます。

    あなたの例では、server1 は 1 から 10 をシードしますが、複製された 11 から 20 を単に受け入れます。

    シードを設定するいくつかの方法:

    いずれか:このように NOT FOR REPLICATION でシード/増分を設定します

    • シード 1、インクリメント 2
    • シード 2、インクリメント 2
    • シード -1、インクリメント -2
    • シード -2、インクリメント -2
    • シード 1000000001、インクリメント 2
    • シード 1000000002、インクリメント 2
    • シード -1000000002、増分 -2
    • シード -1000000001、増分 -2

    これにより、8 つのサーバーでサーバーあたり 500,000,000 が得られます

    または:ServerID という 2 番目の列を追加して複合キーを指定し、ID 列に NOT FOR REPLICATION を使用します

    これは、サーバーあたり 2^32 行の tinyint の場合、たとえば 256 サーバーまでスケールアップします

    どちらの方法でも機能します...




    1. Postgresqlのフォーマット日付

    2. カウントレコードがMySQLDoctrineを返しました

    3. Postgresql変化するビットを整数に変換します

    4. varchar値の変換がint列をオーバーフローしました