Aracılığıyla paylaş


Sistem işlevleri kullanma

sistem işlevleri bilgilere erişmesine olanakSQL Serversistem tabloları doğrudan erişim olmadan sistem tabloları.

Bazı adlarTransact-SQLsistem işlevleri başlangıç iki saat (@) işareti ile.Ancak, daha önceki sürümleriSQL Server@@ işlevleri bilinir genel değişkenler olarak, bunlar değişkenler değil, aynı davranış değişkenlerini. yok@@ İşlevleri sistem işlevleri, ve sözdizimi kullanımları işlevleri için olan kurallara uyar.

Her biri aşağıdaki çiftleri sistem işlevleri veritabanları, ana, nesneleri, oturumları ve kullanıcıları için bir tanımlayıcı (kimlik) verilen bir ad verir ve bir adı verilen bir kimlik verir:

  • DB_ID ve DB_NAME

  • HOST_ID ve HOST_NAME

  • OBJECT_ID ve OBJECT_NAME

  • SUSER_ID SUSER_NAME (veya SUSER_SID ve SUSER_SNAME)

  • USER_ID ve USER_NAME

Örneğin bir veritabanı kimlik numarası almak için DB_ID işlev, bir SELECT yürütme yerine kullanınsysobjects tablo.

Aşağıdaki örnekte gösterilmektedir, açtı kullanarak geçerli kullanıcı için kullanıcı adını almak içinSQL Serverkimlik doğrulaması:

SELECT SUSER_NAME();

Aşağıdaki işlevleri benzer, ancak, birden çok giriş parametresi alır ve Tamamlayıcı çiftler halinde oluşur:

  • COL_LENGTH

    sütun uzunluğu, ancak değil sütunda depolanan tek bir dize uzunluğunu verir.Belirli bir değer karakter sayısını belirlemek için VERİUZUNLUĞU işlevini kullanın.

    Aşağıdaki örnek sütun uzunluğu ve veri uzunluğunu verirLastNamesütunundaEmployeesTablo:

    SELECT COL_LENGTH('Employees', 'LastName') AS Col_Length, 
       DATALENGTH(LastName) AS DataLength
    FROM Employees
    WHERE EmployeeID > 6;
    
  • COL_NAME

    Sayı bir sütun adı.

  • INDEX_COL

    Sayı bir dizini sütun adı.

Kullandığınız işlevleri, Information Schema görünümleri, sistem veya sistem, sistem tabloları doğrudan sorgulama olmadan sistem bilgilerini elde etmek için saklı önerilir.Sistem tabloları sürümleri arasındaki önemli ölçüde değiştirebilirSQL Server.