データベース管理者

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

2
データベースのシステム以外のすべてのビューのみへのアクセスをユーザーに許可する方法はありますか?
SQL Serverでは、特定のデータベースにユーザーがいて、データベースのシステム以外のすべてのビューへのアクセスのみを許可するように求められました。これは、ビューのタイプのセキュリティ保護可能な要素を編集し、それぞれに選択を許可することで実行できると思いますが、ビューはたくさんあります。これを達成するためのより効率的な方法はありますか?

2
ビューの実行プランを取得するにはどうすればよいですか?
いくつかのビューを持つスキーマがあります。実行プランをチェックして、適切なインデックスが配置され、使用されていることを確認する必要があります。 どうすればよいですか? 私はむしろからの出力をコピー&ペーストする必要はないだろうshow create view <viewname>にexplain景色の一部が他のビューの上に構築されている、特にとして、これは非常に苦痛になります。

4
phpMyAdminでデータベース構造を表示する方法
phpMyAdminを使用してデータベース構造のレポートを生成する方法はありますか?私が欲しいのは、次のようなテーブル形式とエンティティ関係テーブルです。 Table name: List Description: Subscriber list information Field Type Null Description ListID Int N ListName Varchar N ListFromName Varchar N Default person represent for the mail ListReplyTo Varchar N Default return address ListSubject Varchar N Default subject title of mail ListRemindSub Int N Whether notify when people subscribe ListRemindUnSub …

1
複数の支払いゲートウェイを処理するためのスキーマ設計
これは、フィードバックが必要な質問の詳細です。複数の支払いゲートウェイを処理するデータベースを設計しています。支払いゲートウェイは、ほとんどの場合、支払いを行う前に注文詳細のテーブル(これはすべてのPGに共通)と、支払いを行った後の応答を保存するためのトランザクション詳細のテーブルを必要とします。 ここで、複数の支払いゲートウェイを処理するために、単一のトランザクションテーブルを保持し、すべての支払いゲートウェイから利用可能なすべてのフィールドと、その行のPGを示すフィールドを詰め込むことができます。 それとも、私のような接頭辞でPGごとに別のトランザクションテーブルを作成することができpaypal_たりbank_、それぞれがそれらのそれぞれが必要なフィールドを持つ、など。 どちらがより最適な方法であるかはわかりません。また、将来遭遇する可能性のある同様のシナリオについても学習する必要があります。

3
MySQLテーブルがクラッシュするのはなぜですか?どうすれば防止できますか?
私は、Moodleサイトの管理者です。そのユーザテーブルが破損していて、使用できなくなりました。 幸いなことに、シンプルなREPAIR TABLE mdl_userもので再び機能しました。問題は、実際にクラッシュしてそれが使用できなくなった理由がわからないことです。次回はよりよく準備できるようにしたいと思います。 私は完全に経験豊富なDBAではありません—私は多くのことを行う開発者なので、ご容赦ください。 バックアップを復元することもできますが、クラッシュを防ぐ方法はあると思います。 これらのテーブルはutf8_general_ciであり、MyISAMを使用しています。 MySQLテーブルがクラッシュするのはなぜですか?これを防ぐにはどうすればよいですか?
9 mysql  myisam 


2
SQL Serverのメンテナンスタスクに役立つPowerShellスクリプトのコレクションはありますか?
私はPowerShellを研究しており、日々のDBAタスクに(ゆっくりと)取り入れています。 これまでのところ、多くの異種の管理アクティビティーのために切断されたPowerShellスクリプトの束を見てきました。 私が知りたいのは、一般的なDBAアクティビティ(Ola HallengrenのT-SQLスクリプトのようなもの)のSQL Server PowerShellスクリプトに通常アクセスする公式(または認識可能な)PowerShellスクリプトコレクションまたはリポジトリがあるかどうかです。

4
日付と時刻を別々の列に保持する理由はありますか?
日付と時刻を別々の列に保持するというソフトウェアベンダーの決定を理解しようとしています。たとえば、行が作成または更新されたとき。時間と日付はどちらもDateTime列です。SQL Server 2005を使用しています。 データベースにはERPシステムのデータが保持されており、最大のテーブルには約300万行が含まれていると思います。ほとんどのテーブルは、おおよそ100 000〜1 000 000行です。 私は個人的にはデフォルトで、単一のタイムスタンプに対して単一のDateTimeを選択します。これにより、時間差の計算が容易になり、日付と時刻の部分をタイムスタンプから簡単に抽出できます。また、使用するスペースも少なくなります。 日付と時刻を分離することは悪い習慣なのでしょうか、それともこのデザインに理解できない非常に素晴らしいものがあるのでしょうか?

2
UPDATE SET REPLACE()ステートメントが行に一致するのに、何も変更せず、警告を出さないのはなぜですか?
フィールドで特定の文字列を探していますが、新しい文字列に置き換えたいと考えています。具体的には、あるURLへのすべての参照を別のURLに変更する必要があります。このSQLステートメントを作成し、mysql>MySQL Community Server 5.1.54を使用してCentOS 5.5のプロンプトで実行しています。 update [table] set [field] = REPLACE([field],'%domain.com%','%domain.org%'); 応答は次のとおりです。 Query OK, 0 rows affected (0.02 sec) Rows matched: 618 Changed: 0 Warnings: 0 変更が行われない理由を追跡するにはどうすればよいですか? 編集1: Aaron Bertrandのおかげで、REPLACE()ワイルドカードを処理できないことがわかり、それを完全に間違って使用していました(WHERE句の欠落など)。これが私の改定された声明です。 UPDATE [table] SET [column] = REPLACE ( [column], 'companydomain.com', 'companydomain.org' ) WHERE [column] LIKE '%companydomain.com%'; 私は古い、おなじみを受け取ります: Query OK, 0 rows …
9 mysql  dml 

1
SPARSEを追加すると、テーブルがはるかに大きくなります
約5m行の汎用ログテーブルがあります。 イベントタイプを格納する「厳密に型指定された」フィールドと、イベントに関連するデータを含む一連の「緩やかに型指定された」列があります。つまり、これらの「緩やかに型付けされた」列の意味は、イベントの型によって異なります。 これらの列は次のように定義されます。 USER_CHAR1 nvarchar(150) null, USER_CHAR2 nvarchar(150) null, USER_CHAR3 nvarchar(150) null, USER_CHAR4 nvarchar(150) null, USER_CHAR5 nvarchar(150) null, USER_INTEGER1 int null, USER_INTEGER2 int null, USER_INTEGER3 int null, USER_INTEGER4 int null, USER_INTEGER5 int null, USER_FLAG1 bit null, USER_FLAG2 bit null, USER_FLAG3 bit null, USER_FLAG4 bit null, USER_FLAG5 bit null, USER_FLOAT1 float …



1
ユーザーとグループでデータベースを作成するための基本的なモデルは何ですか?
私はウェブサイトの基本的なセキュリティシステムに最適な方法を見つけようとしています。ユーザーとグループが必要なことはわかっています。 私が持っていると思いました: user_table user_id user_name ... group_type group_id group_name parent_id ... group_table id user_id group_id 1つ目はユーザー、2つ目はグループ、3つ目は2つを接続する中間テーブルです。1人のユーザーに多数のグループがあります。 この音は大丈夫ですか?

2
XMLデータを格納するデータ型:VARCHAR(MAX)またはXML
SQL Server 2008を使用して新しいリソースセットのスキーマを定義しています...この場合、各レコード(行など)はXMLフラグメントを格納する必要があります。時々; 頻繁ではありませんが; 要素と属性の値を見つけるには、XMLをクエリする必要があります。自分の考案に任せれば、xmlデータ型を使用する傾向がありますが、これは問題があると考えられています。それが私の質問につながります。 このシナリオを前提として、XML列にxmlを格納するか、varchar(MAX)列にXMLを格納するかを決定する際に考慮すべき要素は何ですか。 それが役立つ場合...ここにいくつかの追加の詳細があります: これらのフラグメントのスキーマ(XSDなど)の使用に関して決定は行われていません フラグメントのサイズは、小さいものから非常に大きいものまでさまざまです。 すべてのXMLは整形式です 1日の間に、最大3か月間必要なオンラインクエリサポートで最大10,000個のフラグメントが収集されます XMLに対するクエリは1日を通して発生しますが、このタイプの同時クエリがほとんどないため、軽いままです。

1
正確なクエリパフォーマンスを得るには?
ストアドプロシージャのパフォーマンスを改善しようとしています。SPを実行すると、何かがキャッシュされているかのように、ほぼ瞬時に終了します。SSMSでSPを実行する前に、次の2行のSQLを使用するように言われました。 DBCC DROPCLEANBUFFERS DBCC FREEPROCCACHE 上記の2行のコードでSPを実行すると、SPは約8秒で終了します。しかし、これは本当に私に本当の実行時間を与えていますか?どうやって知るの?

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