【SQL SERVER】 DBCC CHECKDBでデータベースをチェック

DBCC CHECKDBでチェックしてくれってSQL SERVERからエラーが出てきたのちょっとしたコマンド使い方を調べてみた。

 

データベースのチェック

DBCC CHECKDB(対象データベース)   
GO

 

データベースの修復(データベースでエラーが発生している場合)

#シングルモードへ変更
ALTER DATABASE データベース名 SET SINGLE_USER            
GO


#修復を行う
DBCC CHECKDB('データベース名','REPAIR_REBUILD')          
GO


 

こんな感じ。もう少し追求してみるかな。

 

 

 

 

 

SQL SERVERのバージョン情報

SQL SERVERってバージョンが表示わかりずらいと思うんだけどどう?

バックアップ、リストアでひかっかるし。なんか余計な作業が増えるってイメージなんだけど・・・。

 

RTM (no SP) SP1 SP2 SP3 SP4
 SQL Server 2017 14.0.1000.169
 SQL Server 2016 13.0.1601.5 13.0.4001.0
or 13.1.4001.0
 SQL Server 2014 12.0.2000.8 12.0.4100.1
or 12.1.4100.1
12.0.5000.0
or 12.2.5000.0
 SQL Server 2012 11.0.2100.60 11.0.3000.0
or 11.1.3000.0
11.0.5058.0
or 11.2.5058.0
11.0.6020.0
or 11.3.6020.0
11.0.7001.0
or 11.4.7001.0
 SQL Server 2008 R2 10.50.1600.1 10.50.2500.0
or 10.51.2500.0
10.50.4000.0
or 10.52.4000.0
10.50.6000.34
or 10.53.6000.34
 SQL Server 2008 10.0.1600.22 10.0.2531.0
or 10.1.2531.0
10.0.4000.0
or 10.2.4000.0
10.0.5500.0
or 10.3.5500.0
10.0.6000.29
or 10.4.6000.29
 SQL Server 2005 9.0.1399.06 9.0.2047 9.0.3042 9.0.4035 9.0.5000
 SQL Server 2000 8.0.194 8.0.384 8.0.532 8.0.760 8.0.2039
 SQL Server 7.0 7.0.623 7.0.699 7.0.842 7.0.961 7.0.1063

 

WEBだと見づらいのでExcelはこちら

 

 

【POSTGRESQL】ORDER BY expressions must appear in select list

PostgreSQLで「ORDER BY expressions must appear in select list」ってエラーが発生した。

 

理由としては、SELECT  DISTINCT xxxxで重複しているIDがありながらもOrderbyで並びを指定した場合

SELECT DISTINCT 
col1.id ,col1.value  
FROM テーブル名 
ORDER BY col1.ORDER ASC

 

で、SELECTにOrder byで指定するカラムを追加した。

SELECT DISTINCT 
col1.id ,col1.value , col1.ORDER
FROM テーブル名 
ORDER BY col1.ORDER ASC

 

PostgreSQLでNULLのソート順位を指定する

NULLの値を前に持っていくのか後ろに持っていくのか指定できたらいいですよね?

そんな時は下記のパターンでPostgreSQLは指定できました。

・NULLを最初にする場合
ORDER BY カラム名 DESC NULLS FIRST

・NULLを最後にする場合
ORDER BY カラム名 DESC NULLS LAST

 

PostgreSQLのテーブルを空にする

PostgreSQLのテーブルの中身をぷちっとデータを空にしたいなって思っていて調べたら便利なクエリがありました。

テーブルを空にする方法

1.テーブルだけクリアする方法

truncate table 空にしたいテーブル名;

 

2.シーケンス番号もクリアしたい場合

truncate table 空にしたいテーブル名 restart identity

DELETEでぐりぐりしなくて良いので簡単です。

 

Fuelphpでも「truncate」の関数あったな・・・

PostgreSQLのバックアップとリストア方法

PostgreSQLのバックアップとリストア方法。忘れてしまうのでコマンドをメモ。

 

PostgreSQLのバックアップ

pg_dump バックアップDB名 > バックアップ先ファイル名

 

PostgreSQLのリストア

psql リストア先データベース < バックアップのファイル

 

MySQLが起動しない

いつもの通りにmysqlを起動しようとしてコマンドを実行したら、エラーになってしまいました。ソケットを使っているんだとかで。。。

[root@www mysql]# /etc/init.d/mysqld start
Another MySQL daemon already running with the same unix socket.

 

たぶん、「 mysql.sock」が残っているんだろうって調べてみました。

 

 

[root@www mysql]# ls -al /var/lib/mysql/mysql.sock
srwxrwxrwx 1 mysql mysql 0 Sep 16  2015 /var/lib/mysql/mysql.sock

 

やっぱりいましたよ。削除しちゃうのは怖いので名前変更します。「mv・・・」

 

 

[root@www mysql]# /etc/init.d/mysqld start
Starting mysqld:                                           [  OK  ]

 

無事起動しました。ということでごみを残してはいけないのでさっきの名前変更したファイルを削除しました。

 

Postgresのチューニングの簡易化

最近はPostgreSQLをメインDBとして利用していますが、チューニングってなんだかんだ面倒で適当にどうにかならないかなと思ってたら下記のような便利なツールがありました。

 

http://pgtune.leopard.in.ua/

 

 

DBバージョン、OSタイプ、 DBタイプ、 メモリ、コネクション数を入れるとおススメの値がでてきます。

 

pgtune

 

 

CentOS6にPostgreSQL9.4、phpPgAdminをインストールする

CentOS6にPostgreSQL、phpPgAdminをインストール方法をご紹介します。

※Centosはインストールされていて、インターネットに接続されている状態でご用意ください。

※SELinuxは無効にしてください。

 

PostgreSQL9.4のインストール

※インストール前に「yum update」でOSをアップデートしておいてください。

続きを読む CentOS6にPostgreSQL9.4、phpPgAdminをインストールする