データベース管理者

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

6
MS SQL Serverモニタリングソフトウェアまたはサービスの推奨事項 [閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、データベース管理者のスタック交換のトピックになるようにします。 6年前休業。 MS SQL Serverインスタンス(2000、2005)が20〜30台のサーバーに分散しているクライアントがあります。私は物事の整理に従事しており、定期的にデータベースインフラストラクチャの状態を確認したり、バックアップをテストしたりしています。また、2008年までにこれらのデータベースをできるだけ多く取得する予定です。 Linuxスタックのウェブアプリやデータベース向けのNew Relicなどのサービスを知っていて、Google経由でSQL Monitor製品(RedGate)に出会いました。私や私のクライアントがMS SQLインスタンスを監視および管理できるようにするサービスまたはツール(経験がある)に関して、誰かが何らかの方向性を提供できますか?


4
複合キーを使用して行を識別するためのガイダンス
行を一意であると識別するために4つの列のセットを使用する(1つは外部キーで、他の3つはfloatデータ型である)ことは良い習慣ですか(または悪影響がありますか)?(4つのキーがリンクされた)テーブル内の一意のエントリを表すテーブルを作成しようとしています。これが攻撃の良い計画なのか、それとももっと良い方法があるのか​​、私は興味があります。 視覚的な目的で、次の表を想像してください。次の表のように編成された在庫アイテムがあります:([K]は主キーの記号、線は関係です) Sheet_Class Sheet_Type Sheet_Size =========== ========== ========== [K] Sheet_Class-. [K] Sheet_Type--. [K] Sheet_Size '---- Sheet_Class '---- Sheet_Type Length Width Thickness データは次のように表示される場合がありますが、簡潔にするために、リンクされた列を持ち込むことは除外しました。 Sheet_Class Sheet_Type Sheet_Size (Tables) [Sheet_Class] [Sheet_Type] [Length], [Width], [Thickness] (Column Values) ============= ============ ============================== Aluminum 5052-H32 48, 96, 0.032 48, 96, 0.040 48, 96, 0.063 6061-T6 60, 120,0.032 …

2
select(SQL Server)内で変数を使用する方法
列を計算し、その結果を複数の列で使用する場合、計算を2回行わずにこれを行うにはどうすればよいですか? 例: SELECT LOWER(SUBSTRING([NAME], 4, 100)) + '@somedomain.com' as EMail ,hashbytes('SHA1', LOWER(SUBSTRING([NAME], 4, 100)) + '@somedomain.com') as HashedEmail FROM sometable 複数のselectを使用せずにこれを2回書くことを避けるにはどうすればよいですか?

3
InnoDBデフォルト設定の最適化
my.iniを調べて、さまざまなデフォルト設定を確認しました。データベースが1台のスタンドアロンPCで実行されています。InnoDBとMySQLのパフォーマンスを全体的に最適化してパフォーマンスを向上させたい。ディスク容量の制約はありません。パフォーマンス、信頼性、ポイントインタイムバックアップの可能性を高めるために最適化するには、どのデフォルト設定を変更する必要がありますか(高可用性)。 編集済み 現在、MySQL AdministratorでMaintenanceを介して「Optimize Tables」を実行すると、常に次のように表示されます。 テーブルは最適化をサポートせず、代わりに再作成+分析を実行します すべてのテーブル。すべてのテーブルがInnoDBですが、なぜ最適化をサポートしていないのですか?

5
SQLサーバーの同時実行パフォーマンス
本番環境でパフォーマンスの問題が発生しました。 アクティブセッションが25を超えると、CPUの使用率が100%に達し、停止するまでに長い時間がかかることがわかりました。 私たちが持っている環境: 製品Microsoft SQL Server Enterprise Edition 9.3(sp2) CPU 2(Xeon 2.13) メモリ7G セッション詳細のスナップショット1 アクティブセッション 25 アクティブなトランザクション 496 アイドルセッション 289 ブロックされたトランザクション29 セッション詳細2のスナップショット アクティブセッション 59 アクティブトランザクション 885 アイドルセッション 267 ブロックされたトランザクション49 知りたい: 2CPUが25のアクティブセッション(500のアクティブトランザクション)を適切に処理できるかどうか。PS:同時実行要求なしで、5つのテーブルを読み書きする1つのトランザクションがアプリケーションレベルで約1秒かかることをテストしています。 ブロックされたトランザクションがより多くのCPU使用率をとるかどうか。PS:ブロックされたトランザクションは、主に2つのテーブルのロックが原因です。 解決策は何ですか:CPUを追加するか、アプリケーション(java / hibernate)を調整して、このトランザクションを短縮し、テーブルのブロックを減らしますか?

3
トリガーを使用して別のテーブルを更新するのは賢明ですか?
別のデータベースからObject統合サービス(必要に応じて変更できます)からデータを入力したテーブルがあります。特定の時点で、特定の整数値があるObjectObjectGroup (ObjectId, ObjectGroupId)場合に必要な別のテーブルに手動で投稿を追加する必要がありObject.ObjectTypeます。統合サービスはそのような更新を処理しないので、疑似コードでは次のようなトリガーをObjectテーブルに追加することを考えています。 if Object.ObjectType = 10 begin if Object.ObjectNumber like '<string pattern>' begin insert into ObjectObjectGroup values... end end これは賢明な設定ですか、それともパフォーマンスの点でより良い方法がありますか?

3
MySQLおよびPostgreSQLライセンスの問題
当社は、1つのソフトウェア製品にMySQLを使用したいと考えています。この製品はオープンソースではありません。自由に使用することは合法ですか? そうでない場合、PostgreSQLはどうですか?これは私たちの目的で大丈夫ですか?

2
存在する場合、DROPプロシージャがmysqldumpに含まれていない
次のコマンドを使用してのみ、ストアドプロシージャをダンプしています。 mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt databasename -u username -p > outputfile.sql ただし、結果のダンプファイルには、各プロシージャ宣言の前にDROP PROCEDURE IF EXISTSは含まれていません。 ダンプクエリをダンプに追加するにはどうすればよいですか? ありがとうございました。

3
SSMSのSQLCMDモードと@@ variable展開
(コマンドラインからではなく)SSMSでSQLCMDモードを使用する場合、現在のサーバーとインスタンスを変数に割り当てる方法はありますか?これは、通常のTSQL変数の割り当てとは異なります。 問題の定義 SQLCMDの変数拡張機能を使用して、導入した既存のtsql文字列構築マッシュの代わりに、配置スクリプトの環境固有の値を置き換えたいと思います。現在の環境の1つの例外を除いて、SQLCMDを使用してデプロイを処理することは非常にうまくいきました。 -- -- define 2 sqlcmd variables that will be expanded in scripts -- :setvar dbServer "DEVA2\DEV2" :setvar dbNotServer @@servername SELECT '$(dbServer)' AS hard_coded_value , @@servername AS [servername] , '$(dbNotServer)' AS dbNotServer そして、それは以下の結果を生成します。 hard_coded_value servername dbNotServer DEVA2\DEV2 DEVA2\DEV2 @@servername ミートローフは3分の2は悪くないと言っていますが、私は3分の3の解決策を持っていると思います。スクリプトがテストサーバーに展開されたとき、スクリプトの編集を展開担当者に任せたくありません。 SQLCMDを使用するための唯一の解決策がコマンドラインからスクリプトを完全に呼び出すことである場合、私はそれを受け入れることができますが、SQLCMDを使用するのは環境に優しいので、ここでこれを捨てたいと思います。 望ましい出力 :setvar dbNotServer @@servername SELECT '$(dbNotServer)' AS …

9
オンラインゲーム(数千人のプレイヤー)に十分な速度のDBMSはどれですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前休業。 私は現在、MMORPGゲームを作成しています。これは、同時に数千人のプレイヤーがオンラインでいる可能性があります(おそらくそうではありません。希望的な考えだけです)。最初にMySQLを使用したかったのですが、この規模では十分に高速ではないと聞きました。 どのDBMSが十分に高速ですか?SQL Serverはどの程度似ていますか(私は学校でSQL Serverを学びました)。

3
Cassandraの「phpMyAdmin」
Cassandra DB用のRDBMS-MySQL用のphpMyAdminのようなツールはありますか? 可能な「ランタイム」構成が少ないことを知っています(実行時に列ファミリーを編集できないなど)。それでも、さまざまな列ファミリーを検査したり、データを参照したりするためのGUIがあると非常に役立ちます。

1
誰かがOpendatasource / Openrowsetの魔法を説明できますか?
Excelファイル(またはms-access DB)から情報を取得するとき、私は一般的に次のようなものを使用します。 SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0', 'Data Source=C:\test.xls;Extended Properties=''EXCEL 12.0;HDR=NO;IMEX=1'' ')...[Sheet1$] 時々それは働きます。時々それはしません。 誰かがこれを設定するためのガイドを知っていますか? tempフォルダーについて、正しいドライバーのダウンロードについて、拡張プロパティについて、ファイルを開いていないことについて知っています。時々、しかし、私はまだ得る- リンクサーバー "(null)"のOLE DBプロバイダー "Microsoft.ACE.OLEDB.12.0"は、メッセージ "不明なエラー"を返しました。 私は昨日この問題に遭遇しました。マシンを再起動しました-動作しませんでした。次に、インスタンスとP00fを再起動しました。魔法のように機能しました。 だからそれが私の質問です-素晴らしい「詳細不明のエラー」を受け取ったとき、これが機能するためにすべての星が並んでいることを確認するために何をチェックする必要がありますか?

3
MySQLトリガーまたはトランザクションを使用していますか?
MySQLトリガーまたはWebサイトでのトランザクションの使用について、ご意見をお聞かせください。 実際、私はpayment-で履歴テーブルを持っていますUserId | OperationId | Comment | Credits | Sign (debit or credit)。したがって、各支払い操作がこのテーブルに挿入されます。 ただし、ユーザーがアクションを実行するたびに、ユーザーの合計クレジット額を計算するのに時間がかかります。そのため、各ユーザーの合計クレジット額をユーザーprofileテーブルに保持することをお勧めします。 ここに問題があります。profileテーブルの合計クレジット額がpayment履歴テーブルの操作と常に同期していることを確認するにはどうすればよいですか? 私は2つの方法を使用すると思いました: MySQLトリガーまたは ソースコードでコーディングされたトランザクション どちらがより信頼できますか?大規模なデータベース(100.000ユーザー以上)がある場合はどうなりますか? これを行うための提案はありますか? BD MySQLエンジンはInnoDBです。

2
データベース設計のNFルールに違反していますか?
私はデータベース作成の初心者です...採用Webアプリケーション用に作成する必要があります。 私のアプリケーションは、スクリーニング、試験、および面接をスケジュールし、結果をデータベースに保存する必要があります。 私のデータベーススキーマは次のとおりです。 私の問題はapplicant_id、他のテーブルに含まれていることです...試験、面接、試験の種類など。 正規化ルールに違反していますか?もしそうなら、私のデザインを改善するために何をお勧めしますか?

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