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

MicrosoftのSQL Serverの2008バージョンに固有の質問には、このタグを使用します。

12
NOLOCK(SQL Serverヒント)は悪い習慣ですか?
私はウェブサイトやアプリケーションではないビジネスをしているミッションクリティカル ->例。バンキングソフトウェア、宇宙飛行、集中治療モニタリングアプリケーションなど。 それで、その大きな免責事項で、いくつかのSqlステートメントでNOLOCKヒントを使用するのは悪いことですか?何年も前に、仲間のSQL管理者から、「ダーティリード」に満足している場合はNOLOCKを使用するように勧められました。テーブル/行/何でも。 また、デッドロックが発生している場合は、これが優れたソリューションであるとも言われました。したがって、SQLグルがいくつかのランダムコードを手伝ってくれて、SQLコードのすべてのNOLOCKSに気付くまで、私は数年にわたってその考えに従いました。私は丁寧に叱られました、そして彼はそれを私に説明しようとしました(なぜそれが良いことではないのですか)そして私はちょっと迷いました。彼の説明の本質は「それはより深刻な問題に対するバンドエイドの解決策だと感じました。特にデッドロックが発生している場合は。そのため、問題の根本を修正してください。 私はそれについて最近グーグルをして、この投稿に出くわしました。 それで、いくつかのSQL DBの達人先生が私を啓発してくれますか?

10
データベースをロックできなかったため、ALTER DATABASEが失敗しました
一部のプロセスが機能していないため、データベースを再起動する必要があります。私の計画は、それをオフラインにして、再びオンラインに戻すことです。 私はこれをSQL Server Management Studio 2008で実行しようとしています: use master; go alter database qcvalues set single_user with rollback immediate; alter database qcvalues set multi_user; go これらのエラーが発生しています: Msg 5061, Level 16, State 1, Line 1 ALTER DATABASE failed because a lock could not be placed on database 'qcvalues'. Try again later. Msg 5069, …

4
実際の例、SQLでOUTER / CROSS APPLYを使用する場合
私はCROSS / OUTER APPLY同僚と見ていましたが、実際に使用する場所の例を見つけるのに苦労しています。 私は内部結合よりもクロス適用をいつ使用すべきかを検討するのにかなりの時間を費やしましたか?グーグルするが、メイン(唯一)の例はかなり奇妙に見えます(テーブルの行数を使用して、別のテーブルから選択する行数を決定します)。 このシナリオには次のようなメリットがあると思いましたOUTER APPLY。 連絡先テーブル(連絡先ごとに1つのレコードが含まれます)通信エントリテーブル(連絡先ごとに電話、ファックス、電子メールを含めることができます) しかし、サブクエリ、共通テーブル式を使用しOUTER JOINてRANK()し、OUTER APPLYすべてが同じように実行するように見えます。これは、シナリオがに該当しないことを意味していると思いAPPLYます。 実際の例をいくつか共有し、機能の説明にご協力ください!


6
SQL Serverにログインできない+ SQL Server認証+エラー:18456
localhost \ sql2008サーバーにログインアカウントを作成しました(例:User123) データベースにマッピング(デフォルト) SQL Serverの認証モードが両方に設定されている(WindowsおよびSQL) しかし、SQL Serverへのログインが次のメッセージで失敗します(User123の場合) 注:ユーザー名/パスワードが正しく入力されていることを複数回確認しました エラーの詳細: ユーザー 'User123'(Net.SqlClientデータプロバイダー)のログインに失敗しました サーバー名:localhost \ sql2008エラー番号:18456重要度:14状態:1行番号:65536 これについて何か助けてください。



15
SQL Serverのテーブルを参照するFOREIGN KEY制約を見つけるにはどうすればよいですか?
テーブルを削除しようとしていますが、次のメッセージが表示されます。 メッセージ3726、レベル16、状態1、行3 オブジェクト 'dbo.UserProfile'は、FOREIGN KEY制約によって参照されているため、削除できませんでした。 メッセージ2714、レベル16、状態6、行2 データベースにはすでに「UserProfile」という名前のオブジェクトがあります。 SQL Server Management Studioを見回しましたが、制約が見つかりません。外部キー制約を見つけるにはどうすればよいですか?

4
複数のINSERTステートメントと複数のVALUESを持つ単一のINSERT
1000のINSERTステートメントを使用してパフォーマンスを比較しています。 INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) VALUES ('6f3f7257-a3d8-4a78-b2e1-c9b767cfe1c1', 'First 0', 'Last 0', 0) INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) VALUES ('32023304-2e55-4768-8e52-1ba589b82c8b', 'First 1', 'Last 1', 1) ... INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) VALUES ('f34d95a7-90b1-4558-be10-6ceacd53e4c4', 'First 999', 'Last 999', 999) ..対して、1000個の値を持つ単一のINSERTステートメントを使用します: INSERT INTO T_TESTS (TestId, FirstName, …

8
SQL Server 2008およびSQL Server 2005と日時の使用
2008データベースに対してエンティティフレームワークモデルを構築しました。すべて2008年のデータベースに対して問題なく動作します。2005データベースのエンティティを更新しようとすると、このエラーが発生します。 使用中のSQL Serverのバージョンは、データ型 'datetime2をサポートしていません データベースを構築したとき、2008の機能は特に使用しませんでした。コードにdatetime2への参照が見つかりません。そして、はい、列はデータベースで「日時」として定義されています。

13
エラー-データベースが使用中のため、排他アクセスを取得できませんでした
私は実際に1つのバックアップファイルから1つのデータベースを復元するスクリプト(SQL Server 2008)を作成しようとしています。私は次のコードを作成し、エラーが発生しています- Msg 3101, Level 16, State 1, Line 3 Exclusive access could not be obtained because the database is in use. Msg 3013, Level 16, State 1, Line 3 RESTORE DATABASE is terminating abnormally. この問題を解決するにはどうすればよいですか? IF DB_ID('AdventureWorksDW') IS NOT NULL BEGIN RESTORE DATABASE [AdventureWorksDW] FILE = N'AdventureWorksDW_Data' FROM …

6
「 'Microsoft.ACE.OLEDB.12.0'プロバイダーがローカルマシンに登録されていません。」sqlsxのSQLサーバーへのインポートプロセスでエラーが発生しました
64ビットのWindows 7とSQLServer 2008 R2(64ビット)を持っています 私はここにある手順に従ってExcelファイルをSQLサーバーにインポートしますが、その投稿のFigure3セクションでExcelファイルにアクセスしようとしたときに次のエラーをクリックすると停止します。 The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine インストールする必要があることを知っているウェブを検索しますAccessDatabaseEngine_x64。それをインストールすると、同じ問題が発生します どうすればいいですか?

10
dbスキーマをdboに変更するには
古いSQLサーバー(2000)から2008データベースに一連のテーブルをインポートしました。インポートされたすべてのテーブルには、ユーザー名のプレフィックスが付いています(例:)jonathan.MovieData。表propertiesにはjonathan、dbスキーマとしてリストされています。ストアドプロシージャを作成するときjonathan.、混乱を招くすべてのテーブル名の前に含める必要があります。 すべてのテーブルをジョナサンではなくdboに変更するにはどうすればよいですか? 現在の結果: jonathan.MovieData 望ましい結果: dbo.MovieData


5
SQL Server Management Studioでは、テーブルにインデックスを追加できません
テーブルのインデックスフォルダを右クリックすると、[新しいインデックス]メニュー項目がグレー表示されます。理由がわかりません。念のため、テーブル内のすべてのデータを削除し、SSMSを更新して再起動しましたが、うまくいきませんでした。SQL Server 2012 Business Intelligence SP1 CTPを使用しています。

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