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

SQL Server 2000(メジャービルドバージョン8.00.xxxx)。sql-serverにもタグを付けてください。

4
特定のテーブルへの挿入が遅い理由を知るにはどうすればよいですか?
SQLテーブルでのINSERTには、さまざまな理由で時間がかかることがあります。 テーブル上のINSERT TRIGGERの存在 チェックする必要のある強制された制約の多く(通常は外部キー) テーブルの中央に行が挿入されると、クラスター化インデックスでページが分割される 関連するすべての非クラスター化インデックスを更新する テーブル上の他のアクティビティからのブロック 不十分なIO書き込み応答時間 ...私が見逃したものは何ですか? 特定のケースでどちらが責任があるのか​​をどのように確認できますか?ページ分割と非クラスター化インデックスの更新と他のすべての影響を測定するにはどうすればよいですか? (一時テーブルから)一度に約10,000行を挿入するストアドプロシージャがあり、1万行につき約90秒かかります。他のspidがタイムアウトするので、これは受け入れられないほど遅いです。 実行計画を確認しました。INSERTCLUSTERED INDEXタスクとFKルックアップからのすべてのINDEX SEEKSを確認しましたが、なぜ時間がかかるのか確かではありません。トリガーはありませんが、テーブルには少数のFKey(適切にインデックス付けされているように見える)があります。 これはSQL 2000データベースです。

1
SQL Server 2000データベースを2008 R2にアップグレードし、新しい機能を有効にします
最近、SQL Server 2000データベースを2008 R2にアップグレードしました。 私がしたことは: 古いマシンでSQL Server 2000(エクスプレス)サービスをシャットダウンします。 データファイル(mydatabase.mdfおよびmydatabase.ldf)を新しいマシンに移動し、 SQL Server Management Studio 2008を実行します。 ローカルデータベースエンジンに接続し、 データファイルをデータベースに添付します。 データベースの互換性レベルをSQL 2008(100)に変更します。 質問:移行を完了するには、他に何をすればよいですか? したい: チェックサムや完全復旧モデルなどの新機能を使用し、 このデータベースをSQL 2008 R2で作成されたとおりに作成します。 このデータベースを完全に互換性があり、正確にし、新しいSQL 2008 R2データベースエンジンに最適なものにします。 つまり、古いSQL 2000データベースを新しい2008 R2データベースに正しく完全に変換する方法を知り、すべてが正しく行われていることを落ち着いて、すべての新機能に満足しているだけです。 この質問をしているのは、インターネット上で非常に多くの異なることを言って混乱しているサイトを見つけたためです。今は何も分からないので、経験豊富な人の意見と明確で段階的な指示を聞きたいです。私は非常に小さな会社で働いています。私は独力で仕事をします。 サー、私はあなたの答えに本当に感銘を受けました、私はそれほど期待していませんでした。 いくつかのコメント: データベースは現在稼働中です。私が言ったように、それは私が最初の記事でdesribedような方法をdeattachは、取り付け使用してアップグレードされたとMSDNに記載されているように:http://msdn.microsoft.com/en-us/library/ms189625.aspx それは迅速に行わなければなりませんでした、だから私はそのようにせざるを得なかった。それがいかに不適切であったかを忘れて、現在の状況に注目しましょう。 ここではユーザー/権限は問題ではありません-少数であり、許可は簡単です。 データベースを使用するアプリケーションは2012年までSQL 2000と互換性があるため、これも問題ではありません。 データベースファイル(MDF)は大きくなく、約1GBのみです。 その他の質問: バックアップ/復元方法を使用することをお勧めしますが、上記のようにしたので、問題が発生する可能性はありますか?すべてが問題なく機能しました。 チェックサムと完全復旧モデルについて:SQL 2000では利用できなかったので、すぐに使用したいと思います。データベースプロパティでこれらのオプションを有効にすることだけが必要だとおっしゃいましたか?どこかで読みましたが、それだけでは十分ではなく、インデックスなどを再構築する必要があります。私は本当に知りません、ただ尋ねます。 このデータベースをSQL 2012に移行するために事前に準備しています-最初はSQL 2000から2008 R2になりましたが、2008 R2から2012になりますSQL 2012)。だから私はあなたのガイドに従うべきだと理解しています:2008 R2でそれをバックアップし、2012年に復元してから、残りのヒントをしますか? …

2
saパスワードをどのようにリセットしますか?
マシンでsaパスワードを失い、adminグループのアカウントを使用してマシンに直接ログインすると、SQL Server Management StudioはWindows認証を使用したログインを許可しません。 私の計画は、単にサーバーにログインし、Windows認証を介して接続し、saをリセットして新しいパスワードを使用することでした。Windows認証経由で接続できないため、これは機能しません。 saパスワードをリセットするにはどうすればよいですか?

5
リンクサーバーでCASE式に10ブランチという制限があるのはなぜですか?
なぜこのCASE式は: SELECT CASE column WHEN 'a' THEN '1' WHEN 'b' THEN '2' ... c -> i WHEN 'j' THEN '10' WHEN 'k' THEN '11' END [col] FROM LinkedServer.database.dbo.table この結果を生成しますか? エラーメッセージ:メッセージ8180、レベル16、状態1、行1 ステートメントを準備できませんでした。メッセージ125、レベル15、状態4、行1のケース式はレベル10にのみネストできます。 CASE10個以上の「ブランチ」がありますが、ここには明らかにネストされた式はありません。 もう一つの奇妙な。このインラインテーブル値関数は、同じエラーを生成します。 ALTER FUNCTION [dbo].[fn_MyFunction] ( @var varchar(20) ) RETURNS TABLE AS RETURN ( SELECT CASE column WHEN 'a' …

3
detach / copy / attachを使用するか、backup-restore-replayを使用してデータを移行する必要がありますか?
データベースファイルの新しいSAN(古いSANから)への移行に着手しようとしていますが、これを実装するためのオプションがいくつかあります。(1)サーバー上の新しいデータベースに完全バックアップを復元する作業レベルを検討することをお勧めしました。ただし、(2)私の当初の計画は、データベースをデタッチしてから再アタッチすることにより、古いSANから新しいSANにファイルをコピーすることでした。 私の腸は、よりフェイルセーフだと思うので、切り離して、コピーして、アタッチしたいことを教えてくれますが、それは私の単純なことかもしれません。データベースの名前を変更する過程で、トランザクションを見逃したり、何らかの形で「何かを壊したり」したくありません。 私の質問は、BACKUP-RESTORE-Replayオプションに対する懐疑論に正当化されるかどうか、およびそのオプションのその他のメリットまたはリスクは何ですか?

1
指定した時間だけ一時停止/スリープ/待機するクエリを設計するにはどうすればよいですか?
SQL Server 2000インスタンスに対して監視アプリケーションをテストしています。指定した時間がかかるT-SQLクエリを作成するにはどうすればよいですか?たとえば、ほとんどのスクリプト言語にはSLEEP、指定された時間だけスクリプトの実行を一時停止できるコマンドのようなものがあります。SQL Server 2000と互換性のある類似のものを探しています。これは、監視アプリケーションの長時間実行されるクエリのしきい値設定をテストすることを目的としています。


6
ストアドプロシージャの実行が突然遅くなる
SQL Server 2000で発生している問題を理解しようとしています。中程度のトランザクションWebサイトでありsp_GetCurrentTransactions、customerIDを受け入れるストアドプロシージャと2つの日付があります。 現在、日付と顧客に応じて、このクエリは0〜1000行の任意の行を返すことができます。 問題:私たちが経験したことはExecution Timeout Expired、特定のクライアントがそのストアドプロシージャを実行しようとすると、突然(通常または同様の)多くのエラーが発生することです。そのため、クエリを調べてSSMSで実行すると、30秒かかることがわかります。したがって、ストアドプロシージャを再コンパイルすると、-bang-が300ミリ秒で実行されます。 私はこれについてDBAに話しました。彼は、ストアドプロシージャを作成したときにデータベースがクエリプランを作成したと言っています。彼は、そのパラメーターセットには良い計画であると言いましたが、特定のパラメーターセットをスローすると、そのデータに最適なプランではなくなるため、実行が遅くなります。 私に提示されたオプションは、問題のクエリをストアドプロシージャから、実行ごとに作成された実行プランを持つ動的SQLに戻すことです。 これは私に一歩後退したような気がし、これを回避する方法があるに違いないと感じています。この問題に対処する他の方法はありますか? ありとあらゆる回答を歓迎します。


6
2005または2008のインスタンスなしでSQL Server 2000から2012に移行する
SQL Server 2000にある3つの古いデータベースに遭遇しました。これらは2012年に移動する必要があります。標準的なアプローチは、2005または2008インスタンスに復元し、更新、再エクスポートして、最後に2012年に復元することです。 申し訳ありませんが、2005年または2008年のインスタンスはありません。 試してみる価値のある回避策やその他の方法はありますか? ちなみに、データベースには15〜20のテーブルといくつかのビューしか含まれておらず、非常にシンプルに見え、バックアップのサイズは100〜200 MBしかありません。

3
SQL Serverの起動を遅らせる方法
SQL Serverを起動するとき、SANドライブはまだ利用できない場合があります。SQL Serverの起動を1分遅らせる方法はありますか?現在、サーバーを起動した後、SQL Serverを再起動する必要があります。

2
Windows 10上のSQL Server 2000
Windows 10にSQL Server MSDE 2000 SP4をインストールする必要があります。 Windows 7と8.1を実行する他のマシンがあり、SQL Server MSDE 2000は正常に動作します(マージレプリケーションも構成されています)。 現在、Windows 10で同じシナリオをテストしていますが、インストール中にセットアップが予期せず終了します。 このバージョンは非常に古いことを知っていますが、Windows 10にインストールするための回避策はありますか?

5
テーブルのスキーマを指定する必要のないクエリ
SQL Server 2000から2008データベースに一連のテーブルをインポートしました。インポートされたすべてのテーブルには、ユーザー名のプレフィックスが付いていますerpadmin.tablename。 テーブルのプロパティでは、dbスキーマとして「erpadmin」がリストされています。クエリを作成するときは、「erpadmin」を含める必要があります。混乱を招くすべてのテーブル名の前。 現在の結果: select * from erpadmin.tablename 望ましい結果: select * from tablename

1
データ移動のため、NOLOCKでスキャンを続行できませんでした
SQL Server 2000を実行していると、これらのエラーのいくつかが毎晩発生します。 Could not continue scan with NOLOCK due to data movement このエラーをスローするクエリは、1ダースを超えるテーブルを結合する大きく複雑なクエリです。基礎となるデータは頻繁に更新できます。 文化的な「ベストプラクティス」は、過去にNOLOCKヒントを導入することでパフォーマンスが向上し、同時実行性が向上したことです。このクエリは100%正確である必要はありません。つまり、ダーティリードなどを許容します。しかし、これらすべてのロックヒントがあるにもかかわらず、データベースがこのエラーをスローする理由を理解するのに苦労しています。 誰もがこれにいくつかの光を当てることができます-穏やかに、私は実際にはプログラマーであり、DBAではありません:) PS:以下の修正を以前に適用しました:http : //support.microsoft.com/kb/815008

1
SQL Server 2000のすべてのテーブル、ビュー、プロシージャへのアクセス許可を付与する
T-SQLをSQL Server 2000構文で使用して、特定のデータベースのすべてのTABLESおよびVIEWSに対してGRANT SELECT、INSERT、UPDATE、DELETEを実行し、100を超えるオブジェクトのうち2つまたは3つを除外するかなり効率的な方法があるかどうか疑問に思いました。また、すべてのストアドプロシージャに対するEXEC権限を付与できるようにしたいと考えています。 現在、以下のコードを使用して、1つずつ変更しています。約100のテーブルと100のビューに対してこれを行うと、時間がかかりすぎ、GUIでさらに時間がかかります(私が間違っている場合を除きます)。 use [DATABASE_NAME] GO GRANT DELETE ON [dbo].[table_name]TO [user_name] GO use [DATABASE_NAME] GO GRANT INSERT ON [dbo].[table_name]TO [user_name] GO use [DATABASE_NAME] GO GRANT SELECT ON [dbo].[table_name]TO [user_name] GO use [DATABASE_NAME] GO GRANT UPDATE ON [dbo].[table_name]TO [user_name] GO T-SQLを使用して、すべてのユーザーテーブルとビューを循環させ、カップルオブジェクトを除外しながら特定の特権を付与するにはどうすればよいですか?

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