タグ付けされた質問 「sql-server」

Microsoft SQL Serverのすべてのバージョン(MySQL以外)。sql-server-2016のようなバージョン固有のタグも追加してください。これは、質問に関連することが多いためです。

2
NUMERICとDECIMALに違いはありますか?
SQL ServerのNUMERICとDECIMALのデータ型は同じように機能することを知っています。それらを作成するための構文は同じで、格納できる値の範囲は同じです。 ただし、MSDNのドキュメントでは、この2つの関係を次のように説明しています。 numericは機能的には10進数と同等です。 通常、「機能的に同等」という修飾子を見ると、2つのことはまったく同じではなく、外部から区別できない 2つの異なるタイプであることを意味します。 この意味は本当ですか?NUMERICとDECIMALには、たまたま外部の観測者と同じ動作をする違いがありますか?または、それらは実際に同等ですか、たとえば、NUMERICはDECIMALの従来の同義語ですか?
47 sql-server 

4
クラスタリングとトランザクションレプリケーションと可用性グループ
1台のサーバーマシンに障害が発生した場合でも、データベースバックエンドが24時間利用可能であるため、SQL Server 2012に依存するアプリケーションを確認する必要があると仮定します。 DBAではなく開発者として、フェールオーバー/高可用性にどのシナリオを使用するかを理解するのに苦労しています。 Windowsフェールオーバークラスター内の2つ(またはそれ以上)のサーバー、クラスター化されたインスタンスとしてのSQL Server トランザクションレプリケーションで最新の状態に保たれる2つ(またはそれ以上)のSQL Serverインスタンス 同期コミットモードで構成されたSQL Server可用性グループ内の2つ(またはそれ以上)のSQL Server これらのシナリオのどれが、どのような種類のワークロードで機能し、どのような種類の障害/停止がそれらのシナリオで処理できるのでしょうか?彼らは同等/交換可能ですか?

2
互換性レベル80の実際の動作は何ですか?
互換モード機能に関するより良い洞察を誰かが提供してくれますか?予想とは異なる振る舞いをしています。 互換モードを理解している限り、SQL Serverのさまざまなバージョン間の特定の言語構造の可用性とサポートに関するものです。 データベースエンジンバージョンの内部動作には影響しません。以前のバージョンではまだ利用できなかった機能と構成の使用を防止しようとします。 SQL Server 2008 R2で互換レベル80の新しいデータベースを作成しました。単一のint列を持つテーブルを作成し、いくつかの行を追加しました。 次に、row_number()関数を使用してselectステートメントを実行しました。 私の考えでは、row_number関数は2005年にのみ導入されたため、compat 80モードではエラーがスローされます。 しかし、驚いたことに、これはうまくいきました。そして、確かに、コンパットルールは、「何かを保存」して初めて評価されます。そこで、row_numberステートメントのストアドプロシージャを作成しました。 ストアドプロシージャの作成は問題なく行われ、完全に実行して結果を得ることができました。 誰かが互換モードの動作をよりよく理解するのを手伝ってくれますか?私の理解には明らかに欠陥があります。


8
すべてのデータベースのすべてのファイルをすばやく圧縮するにはどうすればよいですか?
SQL Server(この場合は2008)では、インスタンス上のすべてのデータベースのすべてのファイル(ログとデータの両方)をどのようにすばやく縮小できますか?SSMSを実行し、それぞれを右クリックして[タスク]-> [縮小]を選択できますが、もっと速いものを探しています。 私はいくつかの「データベースの作成」スクリプトのスクリプトを作成しましたが、デフォルトのバルーンサイズがあったことを忘れており、このプロジェクトでこれらのファイル用に予約されたスペースをそれほど必要としません。

2
これまでのキャストは検索可能ですが、良いアイデアですか?
SQL Server 2008では、日付データ型が追加されました。 datetime列のキャストdateは検索可能であり、datetime列のインデックスを使用できます。 select * from T where cast(DateTimeCol as date) = '20130101'; 他のオプションは、代わりに範囲を使用することです。 select * from T where DateTimeCol >= '20130101' and DateTimeCol < '20130102' これらのクエリは同等に優れていますか?
47 sql-server 

6
SSMSのどのディレクトリにも表示されない.bakファイル
今日、SSMS 2008 R2を使用して手動で作成された.bakファイルが他の誰かによって作成されています。データベースを手動で復元しようとしていますが、残念ながら、参照するときにファイルが表示されません。 復元プロセスのスクリプトを作成できますが、この問題は以前に見たことがあり、.bakが表示されない原因はわかりません。

6
データベースを移動した後(バックアップ、復元)、ユーザーを再追加する必要があります
SQL Server Management Studioでデータベースのバックアップと復元を使用して、データベース(SQL Express 2012)を開発マシンからサーバーに、またはその逆に時々移動します。 これを行うたびに、ターゲットユーザーのアプリケーションは、使用するユーザー「george」をデータベースユーザー(データベース、セキュリティ、SQL Server Management Studioのユーザー)から削除し、次のように再追加するまでデータベースにアクセスできません。セキュリティ、ログイン、george / properties、ユーザーマッピングの下の所有者。 これを行うためのより良い方法はありますか?少し複雑に思えます。

2
データベースの「所有者」の目的は何ですか?
今日、サービスブローカーの問題のトラブルシューティングを行っているときに、データベースの所有者が退職した従業員のWindowsログインであることを発見しました。彼のログインは削除されたため、クエリ通知は失敗していました。 おそらくこれに対処するためのベストプラクティスは、「sa」をデータベース所有者にすることです。変更して、キューをクリアしました。 私の(非常に初歩的な)質問:データベースの所有者は何で、その目的は何ですか?


4
パフォーマンス比較を実行する前にキャッシュをクリアするSQL Serverコマンド
2つの異なるクエリの実行時間を比較する場合、最初のクエリの実行によって2番目のクエリのパフォーマンスが変わらないことを確認するためにキャッシュをクリアすることが重要です。 Google検索では、次のコマンドを見つけることができました。 DBCC FREESYSTEMCACHE DBCC FREESESSIONCACHE DBCC FREEPROCCACHE 実際、私のクエリは、数回実行した後、以前よりも現実的な時間で完了しています。ただし、これが推奨される手法であるかどうかはわかりません。 ベストプラクティスは何ですか?

3
過度のソートメモリ許可
なぜこの単純なクエリはそれほど多くのメモリを許可されるのですか? -- Demo table CREATE TABLE dbo.Test ( TID integer IDENTITY NOT NULL, FilterMe integer NOT NULL, SortMe integer NOT NULL, Unused nvarchar(max) NULL, CONSTRAINT PK_dbo_Test_TID PRIMARY KEY CLUSTERED (TID) ); GO -- 100,000 example rows INSERT dbo.Test WITH (TABLOCKX) (FilterMe, SortMe) SELECT TOP (100 * 1000) CHECKSUM(NEWID()) % 1000, …

5
IPアドレス経由でサーバーのSQLデータベースに接続できません
Windows Server 2008を実行するサーバーをセットアップし、SQL Server 2008 Expressをインストールしています。 を介してマシンのSQL Server Expressデータベースに接続できますMACHINENAME/SQLEXPRESS。 ただし、IPアドレスを使用してソフトウェアまたはスクリプトを介して接続する場合、接続は許可されません。 私が試してみました: ファイアウォールをオフにします。 SQLデータベースのリモート接続を許可します。 SQL構成内でTCP / IPを有効にします。 ソフトウェア「SQL Server Management Studio」を介して接続しようとすると、次のメッセージが表示されます。 エラーメッセージ: サーバーへの接続を確立中にエラーが発生しました。SQL Server 2005に接続する場合、この失敗は、デフォルト設定ではSQL Serverがリモート接続を許可しないという事実が原因である可能性があります。(プロバイダー:TCPプロバイダー、エラー:0-ターゲットマシンがアクティブに拒否したため、接続できませんでした。)(Microsoft SQL Server、エラー:10061) サーバーとの接続は正常に確立されましたが、ログインプロセス中にエラーが発生しました。(プロバイダー:TCPプロバイダー、エラー:0-確立された接続は、ホストコンピューターのソフトウェアによって中止されました。)(Microsoft SQL Server、エラー:10053) いつ無料かを教えてください。どこでわかるのかを見てみましょう。UKFastから送られた情報に従って詳細を修正しましたが、「サポートの範囲内ではありません」と言っています。 、彼らはそれ以上助けることはできません。 あなたからの便りを楽しみにしています。

5
SQL Server CASEステートメントはすべての条件を評価するか、最初のTRUE条件で終了しますか?
SQL Server(具体的には2008または2012)CASEステートメントはすべてのWHEN条件WHENを評価しますか、またはtrueと評価される句を見つけると終了しますか?条件のセット全体を通過する場合、真と評価された最後の条件が真と評価された最初の条件が上書きしたことを意味しますか?例えば: SELECT CASE WHEN 1+1 = 2 THEN'YES' WHEN 1+1 = 3 THEN 'NO' WHEN 1+1 = 2 THEN 'NO' END 最後のwhen条件により「NO」と評価されるはずですが、結果は「YES」です。最初のTRUE条件が見つかると終了するようです。誰かがこれが事実であるかどうか確認してください。
44 sql-server  t-sql  case 

4
SQL Server Management Studioをローカルにインストールできますか?
デスクトップにSQL Server Management Studioをインストールして、SQL Server 2012インスタンスのデータベースにアクセスできますか? その場合、インストーラーはどこにありますか?Google検索は「エクスプレス」バージョンのみを返しますが、完全なSQL Server Management Studioを探しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.