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

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

2
テーブル行の「CO2」を「CO₂」に更新できません
この表が与えられた場合: CREATE TABLE test ( id INT NOT NULL, description NVARCHAR(100) COLLATE Modern_Spanish_CI_AS NOT NULL ); INSERT INTO test (id, description) VALUES (1, 'CO2'); 活版印刷の問題を解決できないことに気付きました。 SELECT * FROM test WHERE id = 1; UPDATE test SET description = 'CO₂' WHERE id = 1; SELECT * FROM test WHERE id = …


17
2つのデータベースのスキーマを比較するにはどうすればよいですか?
2つのSQL Serverデータベースの違いを見つける方法はありますか(スキーマのみ)。1つはローカルで、もう1つは顧客のサイトにあります。一部のレポートを実行しているクリスタルレポートと実行されていないコードで問題が発生しており、スキーマが一致していないようです。 両方のデータベースで同じコマンドを実行し、結果を比較して違いがどこにあるかを確認できますか?

2
一時テーブルがシークおよびブックマークルックアップを使用しているときに、テーブル変数がインデックススキャンを強制するのはなぜですか?
テーブル変数を使用すると、オプティマイザーがインデックスシークを使用してからブックマークルックアップとインデックススキャンを使用できなくなる理由を理解しようとしています。 テーブルにデータを入力する: CREATE TABLE dbo.Test ( RowKey INT NOT NULL PRIMARY KEY, SecondColumn CHAR(1) NOT NULL DEFAULT 'x', ForeignKey INT NOT NULL ) INSERT dbo.Test ( RowKey, ForeignKey ) SELECT TOP 1000000 ROW_NUMBER() OVER (ORDER BY (SELECT 0)), ABS(CHECKSUM(NEWID()) % 10) FROM sys.all_objects s1 CROSS JOIN sys.all_objects s2 CREATE INDEX …

4
FOR XMLには文字(0x0000)が含まれているため、データをシリアル化できませんでした
大きなクエリがあり(必要に応じてここに投稿します)、このエラーが表示されます。 メッセージ6841、レベル16、状態1、行1の XMLは、XMLで許可されていない文字(0x0000)を含むため、ノード 'NoName'のデータをシリアル化できませんでした。FOR XMLを使用してこのデータを取得するには、バイナリ、varbinary、またはimageデータ型に変換し、BINARY BASE64ディレクティブを使用します。 私が使用する唯一の部分FOR XMLはここにあります: WHERE (CodFuncionario = Results.CodFuncionario) FOR XML PATH(''), TYPE).value('(./text())[1]', 'VARCHAR(MAX)'), 1, 2, '') AS [Experiencia] しかし、何node nonameですか?そして、どのようにこの値を探すことができますか:(0x0000) これはサブクエリの1つです(FOR XMLを持っている唯一の部分)。 SELECT [CodFuncionario], STUFF ( ( SELECT ' / ' + CAST ( [DescFuncao] + '-' + [DescTempoExperiencia] AS VARCHAR(MAX) )... FROM [Linked_Server].db.dbo.tblFuncionarioExperiencia T0 INNER …

2
並列クエリ実行エラーを理解する必要がある
今日、実稼働SQLサーバーのパフォーマンスが低下しました。これが発生した間、いくつかの"The query processor could not start the necessary thread resources for parallel query execution"エラーを記録しました。私が読んだことは、これが複雑なクエリを実行するときに使用するCPUの数に関係していることを示唆しています。しかし、私は停電たちの中にチェックするときCPU Utilization was only at 7%。私がまだ出くわしていない、これが参照している可能性のある他の何かがありますか?これはパフォーマンス低下の原因である可能性がありますか、それともニシンを追いかけていますか? これに対する私のsp_configure値は次のとおりです。 name minimum maximum config_value run_value cost threshold for parallelism 0 32767 5 5

2
INSERTステートメント内の行値式の数が、許可されている1000行値の最大数を超えています
INSERT INTOスクリプトの1つは次のように書かれています。 INSERT INTO tableName (Column1, Column2,....) VALUES (value1, Value2,...), (value1, Value2,...),.... 以下は、上記の挿入ステートメントの解析で直面しているエラーです メッセージ10738、レベル15、状態1、行1007 INSERTステートメントの行値式の数が、許可されている最大1000行値を超えています。 私の簡単な質問は、1000個の値の制限を変更できますか?

2
SQL Serverが実際に使用しているコアの数を確認するにはどうすればよいですか?
SQL Serverを実行している2つのサーバーがあります。 サーバー1:SQL Server 2008 R2 Express(4コア) サーバー2:SQL Server 2012 Developer Edition(8コア) 私の知る限り、SQL Server 2008 R2 Expressは1つのコアのみを使用する必要があります。 SQL Server 2012 Developerバージョンでは、8つのコアすべてを使用する必要があります。 ただし、SQL Server 2008 R2 ExpressでSQLクエリ内で次のコマンドを実行すると、4つのコアが表示されます。 select scheduler_id, cpu_id, status, is_online from sys.dm_os_schedulers where status = 'VISIBLE ONLINE' 適切なコマンドを使用して使用量を測定していますか?

5
完全バックアップとコピーのみの完全バックアップの違い
SQL Server Centralスレッドで見た完全バックアップはログを切り捨てますか?その完全バックアップはログを切り捨てません: いいえ。完全バックアップでも差分バックアップでも、トランザクションログは切り捨てられません。- リン・ペティス はありません-フルバックアップは、ログを切り捨てません。- チャド・クロフォード それでは、完全バックアップとコピーのみの完全バックアップの違いは何ですか? ログバックアップには、ログを切り捨てずにログチェーンが壊れないようにするコピーのみのバックアップがあります。では、コピーのみの完全バックアップとは何ですか?

5
複数のデータベースをC:からD:に一度に移動します
C:ドライブ、高速SSDで約14 GBを消費する323データベースを備えたSQL Server 2008 R2があります。 C:ドライブの一部の領域を再利用するため、それらをD:ドライブに移動します。 このMSDNの記事を見つけましたが、それは1つのデータベースのみを移動する手順のようです。 すべてのデータベースを一度に自動で移動する方法またはスクリプトはありますか?


3
使用する他のデータベースの内部ストアドプロシージャ用の中央CLRストアドプロシージャ/関数リポジトリライブラリを設定しますか?
C#CLRで開発したコードを使用して、システム上のすべてのデータベースで使用できるようにしたいので、それぞれを信頼できるものに設定し、CLRをオンにして、それぞれに同じコードの束を保持する必要はありません。 。 管理およびセキュリティの観点からこれを行う最良の方法はありますか?CLR関数は、文字列ブレーカー、電子メール検証、url en / decode、base64などのように非常に基本的です。各データベースのdboスキーマのみが関数にアクセスできるようにしたいと思います。 これを行う簡単な方法はありますか? また、CLR dllが埋め込まれているかどうか、およびデータベースを移動する場合、タグが一緒に移動するか、dllも移動する必要があるかどうかはわかりません。 ありがとう

2
BIDSで時間ディメンションを再計算する
BIDSを使用して、SSAS 2008 r2でキューブを作成しています。 ウィザードを使用して時間ディメンションを作成しました。その構成の一部は、日付範囲の選択です。 作成後、当初指定したよりも広い日付範囲が必要であることに気付きました。 ディメンションを開いてプロパティに移動し、そこで日付範囲を再定義できることがわかりました。ディメンションを保存して再処理しましたが、テーブルの実際の日付範囲は新しく追加された日付を含むように拡大していません。 この時間ディメンションを成長させる別の方法はありますか、それともゼロから再作成する必要がありますか?

2
SQL Server:TCPまたは名前付きパイプを使用するか、デフォルトを使用する必要がありますか?
同じLAN内の別のサーバー上の.NET 4クライアントアプリケーションからSQL Server 2008 R2に接続する場合、3つの異なるネットワークプロトコルを設定できます。 TCP 名前付きパイプ 接続文字列には何も設定せず、デフォルトを使用します ベストプラクティスとは何ですか?何を選ぶ? 追加情報:TCPと名前付きパイプの両方が、サーバーとクライアントの両方で有効になっています。アプリケーションはデータベースミラーリングを使用しています。クライアントとサーバーは高速LANで通信します。 まれで偽の接続とタイムアウトの問題があるため、これを調査しています。(ただし、それにもかかわらず、ベストプラクティスを知りたい)。 MSDNにはこのテーマに関する記事がありますが、非常に一般的で曖昧です。有用なアドバイスや推奨事項はありません。

3
トリガーが有効な場合のレコードの削除が遅い
これは以下のリンクで解決されたと思います-回避策は動作します-しかし、パッチは動作しません。Microsoftサポートと協力して解決します。 http://support.microsoft.com/kb/2606883 わかりましたので、誰かがアイデアを持っているかどうかを確認するためにStackOverflowに捨てたい問題があります。 これはSQL Server 2008 R2でのことに注意してください 問題:15000レコードのテーブルから3000レコードを削除すると、トリガーが有効な場合は3〜4分かかり、トリガーが無効な場合は3〜5秒しかかかりません。 テーブルのセットアップ メインとセカンダリと呼ばれる2つのテーブル。セカンダリには削除するアイテムのレコードが含まれているため、削除を実行するとセカンダリテーブルに参加します。deleteステートメントの前にプロセスが実行され、削除するレコードがセカンダリテーブルに入力されます。 ステートメントを削除: DELETE FROM MAIN WHERE ID IN ( SELECT Secondary.ValueInt1 FROM Secondary WHERE SECONDARY.GUID = '9FFD2C8DD3864EA7B78DA22B2ED572D7' ); このテーブルには多くの列と約14の異なるNCインデックスがあります。トリガーが問題であると判断する前に、さまざまなことを試しました。 ページロックをオンにします(デフォルトではオフになっています) 手動で収集された統計 統計の自動収集を無効にしました 検証済みのインデックスの健全性と断片化 テーブルからクラスター化インデックスを削除しました 実行計画を調査しました(インデックスの欠落として表示されるものはなく、実際の削除にかかるコストは70%で、レコードの結合/マージには約28%でした) トリガー テーブルには3つのトリガーがあります(挿入、更新、削除の各操作に1つ)。削除トリガーのコードを変更して、単に戻るようにした後、1つを選択して、トリガーされる回数を確認しました。操作全体で1回だけ起動します(予想どおり)。 ALTER TRIGGER [dbo].[TR_MAIN_RD] ON [dbo].[MAIN] AFTER DELETE AS SELECT 1 RETURN 要点をまとめると トリガーがオンの場合-ステートメントの完了には3〜4分かかります トリガーがオフの場合-ステートメントの完了には3〜5秒かかります …

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