Tag Archives: Sql Server

SQL Server cədvəlin hər hansı bir sətrini seçmə


Başlıq biraz başa düşülən olmadığının fərqindəyəm.Hər hansı bir cədvəlin bizə sadəcə 5ci sətri lazımdır.Bunun üçün aşağdakı şəkildə bir script işinizi görəcək bunun sp yaradıbda istifadə edə bilərik.

WITH Cedvel_c AS 
(
select *,
setrSayi = row_number() OVER ( order by ID ) -- Sətrin sayını row_number() funksiyası ilə götürürük.order by etmək istədiyiniz Column adını yazırıq.
from Cedvel_Adı
)
SELECT *
FROM Cedvel_c
WHERE setrSayi = 5

SQL Server COALESCE funksiyası


Sorğu işlədərkən gələn məlumatda olan NULL dəyərlər bəzən görmək istəmirik,bunun üçün müxtəlif yollar var,bunlardan biridə COALESCE funksiyasıdır.Bu funksiya NULL dəyərləri replace edib istədiyimiz dəyərlə dəyişirik.İstifadəsinə baxaq

Select
Ad,
Soyad,
COALESCE(Yas,'-') as Yas -- Əgər Yas sütununda NULL dəyər varsa "-" ilə əvəz olunacaq.
From İstifadeciler

SQL Server :The transaction log for database ‘databasename’ is full. To find out why space in the log..


Verilənlər bazasında sorğunu çalışdırarkın belə bir xəta ilə rastlaşdım

The transaction log for database ‘VerilənlərBazasıAdı’ is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases

--Addım 1 / Bazanı SİMPLE Recovery mode olaraq dəyişirik.
ALTER DATABASE [Verilənlər Bazası Adı]
SET RECOVERY SIMPLE

--Addım 2 / 1GB qədər logları sıxırıq.
DBCC SHRINKFILE('Verilənlər Bazası log adı', 1024)


--Addım 3 /  Bazanı Full Recovery mode olaraq dəyişirik.
ALTER DATABASE [Verilənlər Bazası Adı]
SET RECOVERY FULL

Sıra ilə bu sorğuları çalışdırırıq.

SQL Server sütunları birləşdirmək


Cədvəldə ki sütunları birləşdirmək üçün sadəcə toplamda olduğu kimi bu dəfədə mətn tipli olanları bir-birinin üzərinə gəlmək lazımdr

SELECT sutun1 + '_' + sutun2 + '_' + sutun3 as netice FROM cedvel -- burda birləşdirdik,update sorğusundada eyni qayda qalacaq
UPDATE CEDVEL
SET
NETICE= sutun1 + '_' + sutun2 + '_' + sutun3

SQL Server Replace istifadəsi


Replace istifadə edərək seçdiyiniz məlumatı dəyişə bilərsiz.Nümünələrə baxaq

SELECT Replace('abc', 'c', 'X')

abc – dəyişəcək məlumat
c – dəyişən məlumat
X – yazılacaq məlumat

— Nəticə : abX

Bir cədvəldə bütün bir sütunun məlumatlarının sonundakı -2`ni -1 ilə əvəz etmək istəsək bu şəkildə UPDATE sorğusu yaza bilərik :

UPDATE CədvəlAdı
SET ColumnAdı= replace(ColumnAdı,'-2','-1')

msdn repcale

SQL Server istifadə etdiyi portlar


Servis

Tip

Port

SQL Default Instance

TCP

1433
SQL Named Instance

TCP

SQL DAC

TCP

1434
SQL Browser

UDP

1434
SQL Browser 2382
DTS 3882
SSAS 2382, 2383, 2393, 2394, 2725
Cluster Service

UDP

3343
Cluster Admin 137
RPC

TCP

135
RPC Dynamic Port 5000-5100
RDP 3389
Win 2008 Dynamic Port Range 49152-65535
Service Broker

TCP

4022
SQL Debugger RPC
SSL 443
HTTP endpoint
HTTPS endpoint

TCP

443
iSCSI 3260, 860
SMB 445
NetBIOS Session Service 139
SQL Agent File Copy 135
SQL Agent File Copy UNC Shares 137, 138, 139, 445
Transact-SQL debugger

TCP

135
Database Mirroring
Replication

TCP

1433

 

 

 

SQL Server 2008 EXCEPT və INTERSECT operatorları


SQL Server 2008 ilə gələn daha bir yeniliklərdən biri EXCEPT və INTERSECT.
EXCEPT  və INTERSECT iki fərqli sorğunun qarşılaşdırılmasınan ibarətdir.

EXCEPT operatorunda 1ci sorğudan gələn nəticədə olub 2ci sorğudan gələn nəticədə olmayan sətrləri tapır

SELECT * FROM CEVDEL1 -- CEDVEL1`də olub,CEDVEL2`də olmayan sətrləri göstərir.
EXCEPT
SELECT*FROM CEDVEL2

INTERSECT isə 1ci və 2ci sorğudan gələn nəticlərdə eyni olan sətrləri göstərir.

SELECT * FROM CEVDEL1 -- CEDVEL1`də və CEDVEL2`də olan eyni sətrləri göstərir.
INTERSECT
SELECT*FROM CEDVEL2