17 Şubat 2010 Çarşamba
Tabloların ve alanların açıklamalarını ce veri tiplerini sql server 2008 de alabilmek için script
sys.objects.name AS [Table Name],
sys.columns.name AS [Column Name],
sys.extended_properties.value AS [Description],
(select name +'('+CAST( sys.columns.max_length as varchar(20))+')' from sys.types t
where t.user_type_id=sys.columns.user_type_id)
FROM sys.extended_properties
LEFT OUTER JOIN sys.objects ON sys.extended_properties.major_id = sys.objects.object_id
LEFT OUTER JOIN sys.columns ON sys.extended_properties.major_id = sys.columns.object_id AND sys.extended_properties.minor_id = sys.columns.column_id
--WHERE sys.objects.name='tablo adı'
ORDER BY sys.objects.name, sys.columns.name
30 Nisan 2007 Pazartesi
Insert Edilen null olabilsin vede unique olmalı olsun diyorsanız 2 yontem:
------------------------1
CREATE VIEW view_mt_pch_trademark
WITH SCHEMABINDING
AS
SELECT notes
FROM dbo.mt_pch_trademark
WHERE notes IS NOT NULL
GO
CREATE UNIQUE CLUSTERED INDEX INX_view_mt_pch_trademark
ON view_mt_pch_trademark(notes)
-----------------------------2
CREATE TABLE Table1
(cID INTEGER PRIMARY KEY
, c1 INTEGER NULL
, foolme AS (CASE WHEN c1 IS NULL THEN cID END)
, CONSTRAINT cc1 UNIQUE (c1,foolme)
)
INSERT INTO Table1
SELECT 1, 1
UNION ALL
SELECT 2, NULL
UNION ALL
SELECT 3, NULL
SET NOCOUNT OFF
SELECT * FROM Table1
24 Nisan 2007 Salı
ORACLE 10G EXPDP-İMPDP İLE DAHA HIZLI YEDEKLEME VE GERİ DÖNÜŞ [oracle exdp-impdp backup and restore]
ORACLE 10G EXPDP-İMPDP İLE DAHA HIZLI YEDEKLEME VE GERİ DÖNÜŞ
Bu makalede Oracle 10g veritabanının yedeklenmesi ve geri yüklenmesi için kullanılabilecek datapump aracı anlatılıştır. Oracle Data Pump veri aktarımında daha yeni ve daha hızlı bir araç olarak karşımıza geliyor. Böylece yedek alma zamanı bir kaç kat azalabilmektedir.
Yapılan testlerde dışarı veri aktarımında (expdp) 10-15 kat daha hızlı içeri veri aktarımında (impdp) 5 kat daha hızlı veri aktarımı sağlandığı görülmüştür.
Data Pump aracı sadece anabilgisayardaki klasorde yedek alıp geri yükleme yapabilmektedir.Şimdi adım adım veritbanının yedeğini alalım:
1. Sqlplus ile login olun:
sqlplus "sys/masterkey@medin as sysdba"
1. Anabilgisayarda hangi klasoru kullanacağınızı belirtin:
SQL> create directory yedekKlasoru as ‘c:\yedek\’;
2. Yedek alınacak kullanıcıya klasörü okuma-yazma hakkı verin:
SQL> grant read, write on directory yedekKlasoru to AKADEMI;
Şimdi AKADEMI şemasının yedeğini alalım.Serverda komut satırına aşağıdaki komutu yazın:
expdp AKADEMI/masterkey@MEDIN directory=yedekKlasoru dumpfile=akademi%date%.dmp job_name=akademiYedegi
Şimdi expdp komutunu biraz inceleyelim.
expdp
AKADEMI/masterkey@MEDIN Exp komutunda olduğu gibi kullanıcı adı şifreyi girdiğimiz kısım.
directory=yedekKlasoru Serverda yaratıp hak verdiğimiz klasör. dumpfile=akademi%date%.dmp Klasör içinde yaratılacak dosya adı.
job_name=akademiYedegi Daha sonra dakip için iş adı.(Gerekli deyil)
Daha fazla parametre için expdp –help yazabilirsiniz. Export esnasında ctrl+C’ye basılsa bile yedek işi arka planda çalışmaya devameder. Ctrl+C ye bastığınızda
Export> moduna düşersiniz. Bu modda iken status yazarsanız işin durumunu görürsünüz. Ctrl+C öncesindeki log gösterim moduna dönmek için CONTINUE_CLIENT yazın.
expdp ananda/abc123 tables=CASES directory=DPDATA1
dumpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Export
Çok işlemcili anabilgisayarlarda paralel=4 yazarak hızlandırabilirsiniz.
İmport aşşağıdaki komutu yazabilirsiniz.
impdp SAMATYA/masterkey directory=yedekKlasoru dumpfile=04.01.2006.dmp job_name=importIsi
Eğer var olan tabloların üzerine yazmasını istiyorsanız TABLE_EXISTS_ACTION=APPEND komutunu yazmalısınız.
Mahmut HAKTAN
4t Sağlık ve bilgi işlem hizmetleri
Sistem sorumlusu & DBA
Biomedical Engineer,M.S.
Tel: 0216 413 51 21
Faks: 0216 413 51 41
20 Nisan 2007 Cuma
Tablo Kullanımlarını Getiren Sql [sql server 2005] (Shows usage of tables)
declare @sql varchar(max)declare cSql CURSOR FOR select name [SQL]from sys.tables
OPEN cSqlFETCH NEXT FROM cSql INTO @sql WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO #temp_Table EXEC sp_spaceused @sql, false; -- select @sql FETCH NEXT FROM cSql INTO @sql END CLOSE cSql DEALLOCATE cSql select * from #temp_Tableorder by row_count descdrop TABLE #temp_Table