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

SQL Server 2008(メジャービルドバージョン10.00.xxxx)。また、sql-serverでタグ付けしてください。


6
SqlClientをデフォルトでARITHABORT ONにする
まず最初に:互換性レベル80のデータベースでMS SQL Server 2008を使用し、.Netで接続していSystem.Data.SqlClient.SqlConnectionます。 パフォーマンス上の理由から、インデックス付きビューを作成しました。そのため、ビューで参照されるテーブルの更新はで行う必要がありますARITHABORT ON。ただし、プロファイラーはSqlClientがに接続していることを示しているARITHABORT OFFため、これらのテーブルの更新は失敗しています。 SqlClientを使用するための中央構成設定はありますARITHABORT ONか?私が見つけることができた最善の方法は、接続が開かれるたびに手動で実行することですが、これを行うために既存のコードベースを更新することはかなり大きなタスクになるので、より良い方法を見つけたいです。

4
「文字列またはバイナリデータが切り捨てられる」原因となっている列を特定するにはどうすればよいですか。
リモートPgデータベースからSELECTに書き込んだコードを使用していくつかのクエリを自動的に生成し、ローカルSQL Serverデータベースに挿入しています。ただし、そのうちの1つがこのエラーを生成しています。 [Microsoft] [ODBC SQL Server Driver] [SQL Server]文字列またはバイナリデータは切り捨てられます。(SQL-22001)[状態は22001でしたが、現在は01000] [Microsoft] [ODBC SQL Server Driver] [SQL Server]ステートメントは終了しました。(SQL-01000)。\ insert.pl行106。 どの列がそのエラーを生成しており、入力の長さが不足しているかを調べるにはどうすればよいですか 総当たり攻撃をせずにこれを行う方法はありvarcharますか?

5
開発者がデータベースの変更をフォローするための「ベストプラクティス」タイプのプロセスはありますか?
DBの変更を開発環境からQA、実稼働環境に移行する良い方法は何ですか?現在、私たちは: SQLファイルの変更をスクリプト化し、TFS作業項目に添付します。 作品は査読済みです 作業のテストの準備が整うと、QAでSQLが実行されます。 作業はQAテスト済み 作業の準備が整ったら、SQLを運用データベースで実行します。 これに関する問題は、それが非常に手作業であるということです。開発者がSQLを添付することを覚えている開発者、または開発者が忘れた場合にそれをキャッチするピアレビューアーに依存します。場合によっては、問題を発見したテスターまたはQAデプロイヤーになることがあります。 2番目の問題は、2つの別々のタスクが同じデータベースオブジェクトを変更する場合、変更を手動で調整する必要が生じる場合があることです。これは単なる方法かもしれませんが、これらの問題または何かに「フラグを立てる」自動化された方法があるべきであるように見えます。 私たちのセットアップ:開発ショップには、DBの経験が豊富な開発者がたくさんいます。私たちのプロジェクトは非常にDB指向です。私たちは主に.NETおよびMS SQLショップです。現在、作業を追跡するためにMS TFS作業項目を使用しています。これは、変更セットを作業項目にリンクし、QAおよび実稼働環境に移行するときに含める必要がある変更を正確に見つけることができるため、コードの変更に便利です。現在DBプロジェクトを使用していませんが、将来的にはそれに切り替える可能性があります(おそらくそれは答えの一部です)。 私はソース管理システムに非常に慣れており、私のためにこのようなことをやっていて、SQLにも同じことをしたいと思っています。

1
SQL Server:ロック通信バッファーリソースでデッドロック
このデッドロックタイプの考えられる理由は何ですか?(一般にデッドロックではありません) 通信バッファリソースをロックする これは、システムのメモリが少なく、バッファカウントが制限を超えたことを示していますか? 詳細なエラー: トランザクション(プロセスID 59)は、別のプロセスとのロック通信バッファーリソースでデッドロックされ、デッドロックの犠牲者として選択されました。トランザクションを再実行します

8
IntelliSenseは機能していませんが、有効になっています
この問題は本当にトリッキーな問題であることが証明されています(非常に迷惑です)。 SQL Server Management Studio 2008では、数日前まで、私のIntelliSenseはうまく機能していました。その後、突然停止しました。ツールバーメニューで有効になっているアイコンと、[ツール]-> [オプション]-> [テキストエディター]-> [T-SQL]-> [IntelliSense]で、有効になっていると表示されます。 IntelliSenseキャッシュをCtrl-Shft-Rで書き換えようとしましたが、それも機能しません。 IntelliSenseに何が起こったのか、それを取り戻すために何をする必要があるのか​​という考えはありますか?

2
GROUP BYステートメントのワイルドカードが機能しないのはなぜですか?
次のSQLステートメントを機能させようとしていますが、構文エラーが発生します。 SELECT A.*, COUNT(B.foo) FROM TABLE1 A LEFT JOIN TABLE2 B ON A.PKey = B.FKey GROUP BY A.* ここで、Aは40列の幅の広いテーブルであり、可能であればGROUP BY句に各列名をリストしないようにします。同様のクエリを実行する必要のあるこのようなテーブルが多数あるため、ストアドプロシージャを作成する必要があります。これにアプローチする最良の方法は何ですか? MS SQL Server 2008を使用しています。


5
SQL Serverの古いバージョンへのバックアップの復元
バックアップをSQL Server Express 2008データベースに復元しようとすると、次のエラーが発生しました。 Restore failed for Server '...\SQLEXPRESS'. (Microsoft.SqlServer.SmoExtended) System.Data.SqlClient.SqlError: The database was backed up on a server running version 10.50.1600. That version is incompatible with this server, which is running version 10.00.2531. Either restore the database on a server that supports the backup, or use a backup that …

6
ディスク領域の割り当てと使用領域を報告するクエリ
1つのアプリケーションで合計6つのデータベースを使用しており、6つの自動拡張データベースすべて(SANストレージ経由)で共有できるのは4TBのみです。 SQL Server Management Studioの[タスク]> [圧縮]> [データベース]オプションで[現在割り当てられているスペース]および[使用可能な空きスペース]属性を示す単一のデータベースのクエリ(レポート)を作成します。 次に、これらの数値をTBに変換し、各データベースを合計して、残されたスペースの大まかな見積もりを取得します。T-SQLクエリを介してこれらのフィールドにアクセスできますか?その場合、クエリはどのようになりますか?

2
正の場合、すべてのアイテムを合計します。負の場合、それぞれを返します
SUM()すべての正の値のすべての正の値への方法を見つけnumてSUM()、すべての正の数と各負の数の個別の行を返す必要があります。以下にサンプルDDLを示します。 Create Table #Be ( id int , salesid int , num decimal(16,4) ) Insert Into #BE Values (1, 1, 12.32), (2, 1, -13.00), (3, 1, 14.00) , (4, 2, 12.12), (5, 2, 14.00), (6, 2, 21.23) , (7, 3, -12.32), (8,3, -43.23), (9, 3, -2.32) そして、これは私の希望する出力です(各salesidの正の数値SUM()と負の数値は個別の行を返します): salesid num 1 …

2
SQL Serverでインデックスを再構築および再編成する必要がある理由
インターネットを検索した後、私は理由を見つけることができませんでした SQL Serverでインデックスを再構築および再編成する必要があるのはなぜですか? 再構築して再編成すると、内部的にはどうなりますか? サイトの記事には次のように書かれています: インデックスの断片化が40%を超える場合、インデックスを再構築する必要があります。インデックスの断片化が10%〜40%の場合、インデックスを再編成する必要があります。インデックス再構築プロセスはより多くのCPUを使用し、データベースリソースをロックします。SQL Server開発バージョンとエンタープライズバージョンにはオプションのオンラインがあり、インデックスの再構築時にオンにできます。ONLINEオプションは、再構築中にインデックスを利用可能にします。 これを理解することはできませんでしたが、これWHENを行うにはそれを言うが、WHYインデックスを再構築および再編成する必要があるかどうかを知りたいですか?

1
8000文字以降のデータを切り捨てるVarchar(max)フィールド
いくつかのデータを保存するフィールドがあり、フィールドはとして宣言されていvarchar(max)ます。私の理解では、これは2^31 - 1文字を保存する必要がありますが、8000文字を超えるコンテンツを入力すると、残りがカットされます。 すべてのデータが更新ステートメントに含まれていることを確認し、クエリは他のすべての場所で正常に見えますが、データを選択し直すと切り捨てられました。 データをWebサイトに表示するとき、およびSSMSを使用してデータを表示するとき、データは切り捨てられselect content from tableます。 select DATALENGTH (content) from table 8000として返されます。 これを使用してデータを設定しますupdate table set content = 'my long content' where id = 1。コンテンツには多くのHTMLが含まれていますが、問題の原因はわかりません。私がやっていることを見ることができる唯一のことは、これがユーザーが入力したコンテンツ"である''ため、すべてを置き換えることです(私が今やった理由を覚えていない)。 コンテンツ内のすべての単一引用符を削除することで、コンテンツを正しく入力することができたので、データベースではなくデータで何か奇妙なことが起こっていると思います。 varchar(max)フィールドを使用するためにクエリで特別なことをする必要がありますか? 使用:SQL Server 2008(10.50)64ビット。

2
データベースプリンシパルはデータベース内のスキーマを所有しているため、ドロップできません
データベースからプリンシパルを削除しようとしていますが、スキーマを所有しているためできません。ただし、ユーザーを編集する場合、スキーマのチェックを外すボックスは青色で削除できません。これらのスキーマからプリンシパルを削除するにはどうすればよいですか?

6
暗号化されたビューまたはストアドプロシージャを表示する方法
サードパーティのデータベースに取り組んでいます。 右クリックしてビューの定義を表示しようとするCREATE TOとNEW QUERY EDIT WINDOW、エラーが発生します: このオブジェクトにはこのプロパティが存在しないか、アクセス権が不十分なために取得できない可能性があります。テキストは暗号化されます。

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