データベース管理者

データベースのスキルを向上させ、コミュニティの他の人から学びたいデータベースの専門家向けのQ&A


1
テーブルフィルファクターとインデックスフィルファクターの違い
Postgresでは、テーブルだけでなくインデックスにもfillfactorを設定できます。違いはなんですか?いずれかの値を決定する方法。ユースケースは何ですか? 空間インデックスで空間リレーションをクラスター化しようとしています。数百万のレコードがあります。毎日新しいレコードが作成されることはほとんどありませんが、レコードは常に更新されます。 ユースケースは空間範囲クエリです。テーブルのfillfactorおよび/またはindex fillfactorの適切な値は何ですか?
16 postgresql 

3
NULLを含むことができる列の比較-よりエレガントな方法はありますか?
次のコードのようなものを追加しないと、値をNULLと比較して結果を期待できないことを知っています... SELECT * FROM A INNER JOIN B ON A.ID = B.ID WHERE A.STRING <> B.STRING OR (A.STRING IS NULL AND B.STRING IS NOT NULL) OR (A.STRING IS NOT NULL AND B.STRING IS NULL) OR A.DT <> B.DT OR (A.DT IS NULL AND B.DT IS NOT NULL) OR (A.DT IS …
16 sql-server  null 

4
SQL Server 2008 R2データベース内のすべての孤立ユーザーを「自動修正」する簡単な方法はありますか?
以下を使用して、孤立した単一のSQLユーザーをログインに修正するのはかなり簡単です。 EXEC sp_change_users_login 'Auto_Fix'、 'user' これをスクリプト化することはできますが、特定のデータベース内のすべての孤立ユーザーを自動的に修正しようとする既存のストアドプロシージャはありますか

2
PL / pgSQLでクエリが結果を返さないかどうかを確認する簡単な方法はありますか?
私は現在PL / pgSQLを少し実験していますが、次のようなもっとエレガントな方法があるかどうか知りたいです: select c.data into data from doc c where c.doc_id = id and c.group_cur > group_cur order by c.id desc limit 1; EXCEPTION WHEN NO_DATA_FOUND THEN select c.data into data from doc c where c.doc_id = id and c.global_cur > global_cur order by c.id desc limit 1; EXCEPTION …

5
存在しない制約を削除することも、作成することもできません
運用データのコピーを使用していくつかの移行スクリプトをテストしている間(スクリプトは開発データで正常に実行されます)、奇妙な状況が見つかりました。CONSTRAINTが変更されたため、DROP + ADDコマンドを発行しています。 ALTER TABLE A_DUP_CALLE DROP CONSTRAINT A_DUP_CALLE_UK1; ALTER TABLE A_DUP_CALLE ADD CONSTRAINT A_DUP_CALLE_UK1 UNIQUE ( CONTROL_ID, CALLE_AYTO_DUPL ) ENABLE; DROPコマンドは正常に機能しましたが、ADDコマンドは失敗しました。今、私は悪循環に陥っている。制約が存在しないため、制約を削除できません(最初の削除は期待どおりに機能しました)。 ORA-02443:制約を削除できません-存在しない制約 名前が既に存在するため、作成できません。 ORA-00955:名前は既存のオブジェクトですでに使用されています 私は型A_DUP_CALLE_UK1SQL開発者に検索それがある...箱や!所有者、テーブル名、tablescape ...すべての試合:それは、同じ名前を持つ別のオブジェクトではありませんで、私の元の制約。テーブルは制約の詳細に表示されますが、制約はテーブルの詳細に表示されません。 私の質問: これの説明は何ですか? ライブサーバーで実際のアップグレードを行ったときに、それが起こらないようにするにはどうすればよいですか? (サーバーは10g XEです。タグを作成するのに十分な評判がありません。)

2
オープンソースのビジネスインテリジェンス/ DWHソリューション[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、データベース管理者のStack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 この質問はまだ聞かれていないのだろうか。Googleでは、高品質のツールを表示しない結果が非常に少ない データウェアハウス、より具体的にはビジネスインテリジェンスツール向けのオープンソース(無料でも構いません)ソリューションとは何ですか?それらとのあなたの経験は何ですか。私は修士課程でコースを受講しており、MS Business IntelligenceとMSSQLをデータウェアハウスストレージとして使用しました。ここで、「オープン」なツールを使用して、このトピックについて詳しく説明します。 ビジネスインテリジェンス(ほとんどデータベースに依存しない)用の比較可能なツールはありますか? 編集ステファニーの答えに対するマリアンのコメントで、私は質問を間違って定式化したことがわかります。DWHは単なる「レポート用に最適化された」データベースであることを認識しています。Stephanieの説明はそれについて非常に明確でした。WHATの種類のBIソフトウェア/ツール/その他の手法を使用して、データをこのような最適化されたフォームに取り込む方法に興味があります。

3
Postgresサーバーのタイムアウトを制限することは可能ですか?
アプリケーション(クライアント側)で接続とコマンドのタイムアウトを10分に設定します。 私のアプリケーションよりも簡単なクエリを実行します: SELECT pg_sleep(65) 一部のサーバーでは正常に動作しますが、他のサーバーは60秒後に接続を閉じます。 これは、タイムアウトを制限し、クライアント設定を無視するPostgreSQLサーバーの構成のようなものでしょうか?

2
2つのセッションで同じ名前の#tempテーブルを作成できますか?
一時テーブル(#myTable)を作成し、カーソルを使用しています。これは、同時ユーザーがアプリケーションを介してカーソルにアクセスしているときに問題を引き起こしますか?同じ名前の個別の一時テーブルを作成できますか? サンプルコードは次のとおりです。 Open cursor; Fetch Next from cursor into @Variable_Temp_Table_Name; Create table #myTable(pk int) While @@Fetch_Status = 0 Begin Fetch Next from cursor into @Variable_Temp_Table_Name; End

4
SQL Serverの2つのデータベースの同期
2つのSQL Serverデータベースがあります。1つはクライアント(Windowsアプリケーション)で、もう1つはサーバー上にあります。これらの2つのデータベースを頻繁に(たとえば2分ごとに)同期したいです。 レプリケーション、タイムスタンプ、トリガーを使用したログテーブル、Microsoft Sync Frameworkなど、さまざまな同期方法について読みました。 実際、ブラックボックス(レプリケーションなど)になる可能性のある同期方法を使用するのは好きではありません。SQLServer固有のテーブルを更新し、サーバーと同期している間はブロックされないようにするためです。 そのような状況でどの方法を使用すべきだと思いますか?数分ごとに、いくつかのテーブル変更をクライアントからサーバーに送信し、サーバーから2つのテーブル変更もフェッチする必要があることに注意してください。 私は奇妙だが新しいメソッドを見つけました。クライアントで実行されたすべての(特定の優先)ストアドプロシージャをログに記録し、.sqlファイル内のパラメーターと共にサーバーに送信し、そこで実行することは可能ですか?同じことがサーバーで発生し、クライアントに送信されます。これはシンプルだが便利な方法だと思いますか? 可能であれば、便利なアプローチを提案してください。どうもありがとうございます。 編集:これはリアルタイムの同期であり、これが特別なものになることを忘れないでください。つまり、クライアントユーザーがテーブルを使用している場合、サーバーとの同期プロセスは数分ごとに行われる必要があるため、テーブルをロックする必要はありません。

2
ユーザー/パスワード/特権のバックアップ/復元
あるサーバーから別のサーバーに移動し、MySQLサーバーからすべてのデータベース+ユーザー/特権/パスワードをバックアップしたい。を使用してデータベースをバックアップすることがわかりましmysqldumpたが、すべてのユーザーと指定された特権をバックアップする方法がわかりません。これを達成する方法はありますか、またはこれを新しいサーバーに新しく設定する必要がありますか?

2
mysqldump:エラーが発生しました:1044:LOCK TABLESを使用している場合、ユーザー 'username' @ 'localhost'のデータベース 'databasename'へのアクセスが拒否されました
mysqldump:エラーが発生しました:1044:LOCK TABLESを使用している場合、ユーザー 'username' @ 'localhost'のデータベース 'databasename'へのアクセスが拒否されました 適切にログを記録でき、SQLyog Toolから完全バックアップを取得できますが、MySQL Enterprise Workbencgからバックアップを取得しようとするとエラーメッセージが表示されます。 mysqldump:エラーが発生しました:1044:LOCK TABLESを実行すると、ユーザー 'myuserid' @ '%'のデータベース 'mydatabasename'へのアクセスが拒否されました 操作は終了コード2で失敗しました また、MySQL接続の状態は良好です。 mysql>ステータス。 mysql.exe Ver 14.14 Distrib 5.6.19、Win32(x86)用 接続ID:23921現在のデータベース:データベース名現在のユーザー:ユーザーIDはここでOKですSSL:使用されていません区切り文字の使用:; サーバーバージョン:5.6.17-log MySQL Community Server(GPL)プロトコルバージョン:10接続:接続はここでOKサーバーキャラクターセット:utf8 Dbキャラクターセット:utf8クライアントキャラクターセット:cp850接続キャラクターセット:cp850 TCPポート:3306稼働時間:21日21時間11分37秒 スレッド:24質問:20500671遅いクエリ:3212開く:121998テーブルをフラッシュする:1オープンテーブル:2000クエリ/秒平均:10.842
16 mysqldump 


6
ジョブ開始時刻を指定してSQL Serverで実行中のジョブを確認するスクリプト
Job Start Timeを使用してSQL Serverで実行中のジョブを表示するスクリプトを作成する方法 SELECT sj.name, sja.run_requested_date, CONVERT(VARCHAR(12), sja.stop_execution_date-sja.start_execution_date, 114) Duration FROM msdb.dbo.sysjobactivity sja INNER JOIN msdb.dbo.sysjobs sj ON sja.job_id = sj.job_id WHERE sja.run_requested_date IS NOT NULL ORDER BY sja.run_requested_date desc;

7
DTSインポート/エクスポートウィザードを使用してデータをインポートするときにFK制約を処理するにはどうすればよいですか?
SQL Serverのインポートおよびエクスポートウィザードを使用して、運用データベースから開発データベースにデータをコピーしようとしていますが、「INSERTステートメントがFOREIGN KEY制約と競合しています」というエラーで失敗します。 FK制約の場合、ドロップ制約を追加する/ constratスクリプトを追加することなく、これに対処する簡単な方法はありますか? 編集:私はちょうど私が実行しているものであるSQL ServerのWeb版では、DTSはあなたがパッケージを保存することはできませんことがわかりました。

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